3

我在以下代码行中从 REST API 获取 pdf 文件


 response = request.GetResponse() as HttpWebResponse;// HttpWebResponse response

我使用流阅读器来获取响应

            if (response != null)
            {
                rchResponseHeader.Text = response.Headers.ToString();
                //string resBody = null;
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    resBody = reader.ReadToEnd();//string resBody
                }
             }

我使用 filedialogBox 和 pdf 扩展名将文件保存如下

      if (saveDialogBox.ShowDialog() == DialogResult.OK)
            {

                string name = saveDialogBox.FileName;
                File.WriteAllText(name, resBody);
            }

文件保存成功,但我无法打开文件:我认为我以前读取和写入文件的方式不合适。有没有办法让这个成功谢谢

4

1 回答 1

4

您正在以文本形式读取和写入二进制文件。那是行不通的。

改用这样的东西:

if (response != null)
{
    rchResponseHeader.Text = response.Headers.ToString();

    if (saveDialogBox.ShowDialog() == DialogResult.OK)
    {
        using(var fileStream = File.Open(name, ...))
        {
            response.GetResponseStream().CopyTo(fileStream);
        }
    }
}
于 2013-05-08T12:56:11.153 回答