博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务器在多机状态下实现流的形式下载
阅读量:4460 次
发布时间:2019-06-08

本文共 1644 字,大约阅读时间需要 5 分钟。

前端基本是需要模拟出来一个form表单,通过form表单来请求一个action,然后这个action返回一个Stream,这里使用JavaScript来构造一个html表单,然后在自动提交去请求服务action

CreateForm: function (actionUrl, data) {if ($("#downloadFrame").length > 0) {$("#downloadFrame").remove();$("#downloadQueryForm").remove();} // modal.showLoading()var $iframe = $('').appendTo($("body"));$('
').appendTo("body");document.forms["downloadQueryForm"].submit();}

  

actionUrl就是后台api接口,data是参数。 然后后台接口api返回的时候,返回值修改一些类型。
public HttpResponseMessage DownloadFile()        {            var contextRequest = (HttpContextWrapper)Request.Properties["MS_HttpContext"]; //获取传统context'            var filePath = contextRequest.Request.MapPath("/ExportFiles");            try            {                var downloadFileName = "xxx.jpn";                var bytes = File.ReadAllBytes(filePath);                MemoryStream ms = new MemoryStream(bytes);                ms.Flush();                ms.Position = 0;                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);                response.Content = new StreamContent(ms);                response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");                response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")                {                    FileName = downloadFileName                };                return response;            }            catch (Exception ex)            {                return new HttpResponseMessage();            }        }

  

转载于:https://www.cnblogs.com/yangkangIT/p/8623870.html

你可能感兴趣的文章
NPOI新建和读取EXCEL
查看>>
【Spark】开发Spark选择Java还是Scala?
查看>>
【转载】String和StringBuffer的区别,以及StringBuffer的常用方法介绍
查看>>
下拉框选择效果的实现原理2
查看>>
第五周作业结对编程作业
查看>>
mysql tp5 find_in_set写法
查看>>
k8s service
查看>>
搭建redis的步骤
查看>>
eclipse插件集
查看>>
SQL练习之求解填字游戏
查看>>
2017年11月15日
查看>>
codeforces 949B A Leapfrog in the Array
查看>>
类似懒加载的js功能
查看>>
Mysql的DATE_FORMAT()日期格式转换
查看>>
vue实战教程
查看>>
使用disruptor 将5百多万数据从mysql导入到oracle
查看>>
HDU1028 Ignatius and the Princess III 求一个整数被分为多个数相加有多少种可能
查看>>
团队怎样去做技术规划
查看>>
m_Orchestrate learning system---网站的语言选择功能(中文英文)
查看>>
Linux课程---5、常用文件命令和目录命令(创建文件命令)
查看>>