不能用ajax提交文件下载的请求

2016-11-25 19:53:14来源:CSDN作者:NCHUtianlin人点击

第七城市

原因

ajax的返回值类型是json,text,html,xml类型,或者可以说ajax的接收类型只能是string字符串,不是流类型,所以无法实现文件下载。但用ajax仍然可以获得文件的内容,该文件将被保留在内存中,无法将文件保存到磁盘。这是因为JavaScript无法和磁盘进行交互,否则这会是一个严重的安全问题,js无法调用到浏览器的下载处理机制和程序,会被浏览器阻塞。


实现下载的方法

隐藏表单,用提交表单的形式

window.open() window.location.href()

创建iframeiframesrc可以是文件地址url来直接下载文件

下载时注意要设置contentTypecontent-disposition 
response.AddHeader(content-disposition,attachment; filename=); 
response.ContentType = application/octet-stream;

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台