zoukankan      html  css  js  c++  java
  • 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:	mphema.docx", fileBytes);
    }

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

  • 相关阅读:
    自动化运维
    rabbitmq常见问题
    常见的排序算法
    rabbitmq
    redis-其他应用
    redis之缓存穿透、雪崩、击穿
    redis-cluster(集群)
    redis -sentinel(哨兵)
    redis持久化
    redis简介
  • 原文地址:https://www.cnblogs.com/hemajia/p/13042088.html
Copyright © 2011-2022 走看看