c# Http請求下載二進制流文件


本文目的: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的使用》

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM