如何在 C# 的 REST API 中获取 PDF 文件

Posted

技术标签:

【中文标题】如何在 C# 的 REST API 中获取 PDF 文件【英文标题】:How to get PDF file in REST API in C# 【发布时间】:2013-05-08 12:46:41 【问题描述】:

我正在以下代码行中从 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);
            

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

【问题讨论】:

【参考方案1】:

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

改用这样的东西:

if (response != null)

    rchResponseHeader.Text = response.Headers.ToString();

    if (saveDialogBox.ShowDialog() == DialogResult.OK)
    
        using(var fileStream = File.Open(name, ...))
        
            response.GetResponseStream().CopyTo(fileStream);
        
    

【讨论】:

以上是关于如何在 C# 的 REST API 中获取 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# REST API 从 TFS 获取用户身份

需要帮助使用 PayPal REST API 或 C# 中的任何其他方法获取 PayPal 交易

如何在 C# 中使用 Magento 2 API 创建 REST 请求?

获取 REST API 数据并使用 C# 将它们保存到 SQL 表中

Nodejs:如何从 REST API 下载 pdf 文件?

如何在 C# 中实现 YouTrack REST API