不能用ajax请求下载文件
2016-02-18 17:15
190 查看
原因
ajax的返回值类型是json,text,html,xml类型,或者可以说ajax的接收类型只能是string字符串,不是流类型,所以无法实现文件下载。但用ajax仍然可以获得文件的内容,该文件将被保留在内存中,无法将文件保存到磁盘。这是因为JavaScript无法和磁盘进行交互,否则这会是一个严重的安全问题,js无法调用到浏览器的下载处理机制和程序,会被浏览器阻塞。实现下载的方法
隐藏表单,用提交表单的形式用window.open() 或 window.location.href()
创建iframe,iframe的src可以是文件地址url来直接下载文件
下载时注意要设置contentType,content-disposition
response.AddHeader(“content-disposition”, “attachment; filename=”);
response.ContentType = “application/octet-stream”;
参考:
http://langgufu.iteye.com/blog/2076373
http://qa.helplib.com/783950
相关文章推荐
- ios block1
- ios经验收藏 使用objection来模块化开发iOS项目
- ios系统和某些移动端background-attachment:fixed不兼容性
- java基础—java的Io操作学习(1)
- 欢迎使用CSDN-markdown编辑器
- java_微信公众号开发笔记
- Linux下Mysql主从同步错误:Slave_SQL_Running: No的解决方案
- Android基础之加载动画
- html5 canvas 画hello ketty
- Netty那点事
- ClassLoader 详解及用途(写的不错)
- centos6.6下安装MySQLdb时出现“error command 'gcc' failed with exit status 1”
- Hook API
- (转)@SuppressWarnings的使用、作用、用法
- POJ2367 Genealogical tree(拓扑排序)
- python 不定参数
- IntentService
- 我们为什么要看《超实用的HTML代码段》
- 2016年想法
- java入门