首页 > Windows开发 > 详细

c# Http请求下载二进制流文件

时间:2020-06-04 15:25:49      阅读:101      评论:0      收藏:0      [点我收藏+]

本文目的:Http请求外部Api接口(接口返回的是二进制流数据类型application/octet-stream),实现下载文件到本地磁盘。

昨天,使用原来的HttpHelper工具类(HttpWebResponse),请求接口下载文件发现返回的是string类型,因为需要的是byte[]类型,然后又把string转为了byte[]后进行下载,发现图片和word等部分格式文件下载后打不开。

后经朋友指教,提供了另外一种方式WebClient,进行下载,默认请求类型是Content-Type: multipart/form-data;。

var url = "http://api.xxxx";
using (var webClient = new WebClient())
{
    webClient.Headers.Add("Authorization", "xxxx");
    var formData = new NameValueCollection();
    formData["file_id"] = "xxxxx";
    byte[] fileBytes = webClient.UploadValues(url, "POST", formData);
    System.IO.File.WriteAllBytes(@"D:\tmp\hema.docx", fileBytes);
}

 

如果想多了解Http这三种区别,可看看这篇博文《C#中HttpWebRequest、WebClient、HttpClient的使用》

技术分享图片

 

c# Http请求下载二进制流文件

原文:https://www.cnblogs.com/hemajia/p/13042088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!