返回流的形式下载文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回流的形式下载文件相关的知识,希望对你有一定的参考价值。

 //下载文件
    private void Down(HttpContext context)
    {
        string filePath = context.Request["url"];
        if (!string.IsNullOrEmpty(filePath))
        {
            string customFileName = DateTime.Now.ToString("yyyyMMddHHmmss");//客户端保存的文件名  
            using (FileStream fileStream = new FileStream(Server.MapPath(filePath), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                byte[] fileData = new byte[fileStream.Length];
                fileStream.Read(fileData, 0, fileData.Length);
                string fileName = Path.GetFileNameWithoutExtension(filePath);
                                                //attachment 作为附件打开 inline 在线打开
                HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8).ToString());
                HttpContext.Current.Response.ContentType = "application/octet-stream";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
                HttpContext.Current.Response.BinaryWrite(fileData);
            }
        }
    }

 

以上是关于返回流的形式下载文件的主要内容,如果未能解决你的问题,请参考以下文章

vue-以文件流的形式-下载-导出文件

nodejs+koa以流的形式返回数据

Java下载文件(流的形式)

AsynchttpClient下载文件,以文件流的形式

Java生成二进制文件与Postman以二进制流的形式发送请求

阿里云附件文件流的形式上传下载