zoukankan      html  css  js  c++  java
  • netcore 从api下载文件并直接返回

    [HttpGet]
            public IActionResult HttpReturnFile()
            {
                string url = "http://localhost:99/api/HttpFile/GetFile";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";
                using (WebResponse webRes = request.GetResponse())
                {
                    int length = (int)webRes.ContentLength;
                    HttpWebResponse response = webRes as HttpWebResponse;
                    Stream stream = response.GetResponseStream();
                    var contentdisposition = response.Headers["Content-Disposition"];
                    var filename = Util.Midstr(contentdisposition, "filename=", ";");
                    var ext = "."+filename.Split('.')[1];
                    new FileExtensionContentTypeProvider().Mappings.TryGetValue(ext, out var contenttype);
                    //读取到内存
                    MemoryStream stmMemory = new MemoryStream();
                    byte[] buffer = new byte[length];
                    int i;
                    //将字节逐个放入到Byte中
                    while ((i = stream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        stmMemory.Write(buffer, 0, i);
                    }
                    stmMemory.Close();
                    return File(buffer, contenttype ?? "application/octet-stream",filename);
                }
            }

     url下载文件地址

  • 相关阅读:
    mongo常用查询
    MongoDB
    python连接mongo
    linux 硬盘
    kali 日志
    linux 命令
    grep
    linux shell
    linux 匹配字符串是否为数字
    linux 第一题 计算题
  • 原文地址:https://www.cnblogs.com/huanyun/p/11350840.html
Copyright © 2011-2022 走看看