ie9,关于文件下载的方法讨论(fail)

项目支持新功能,其中要求点击下载报告,post请求,请求体中携带报告内容对象,然后返回数据是二进制数据流,并把它下载下来~

1、文件下载,首先想到的肯定是 a标签的 href,并属性 download 设置,如果有值则为下载的文件名。但是查了许久,貌似没找到如何使 a标签转换 method 为 post 的方法。

2、form 表单提交,虽然有 post 方法,但是要传输的数据是个非常大的对象,里面又有对象数组,form 传参只能是 key value 形式单个字符串传输,也是麻烦的要命。

3、$http 请求回二进制数据流,直接操作数据流保存成可操作的 blod 对象,再将其转换成 DOMString 然后使用 a标签的 href 进行下载;貌似看着是最简单也最通用的方式,缺有一个致命的缺点,兼容性为 ie10 +,也就是说 ie9 不支持!

该问题有待后续研究。。。

时间: 2024-10-20 03:47:54

ie9,关于文件下载的方法讨论(fail)的相关文章

cocos2d-x 源码分析 之 CCTableView源码分析(附使用方法讨论)

cocos2d-x源码总目录 http://blog.csdn.net/u011225840/article/details/31743129 源码来自2.x,转载请注明 1.继承结构 首先来看下CCTableView的继承结构 从继承结构上看,CCTableView是一种CCScrollView,所以为了研究CCTableView的源码,清先去了解CCScrollView的源码http://blog.csdn.net/u011225840/article/details/30033501. 其

[转]CSS完美兼容IE6/IE7/IE8/IE9/IE10的通用方法

CSS完美兼容IE6/IE7/IE8/IE9/IE10的通用方法 2013-12-12  By 奥夫 关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对… 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !impo

python实现文件下载的方法总结

前端时间遇到一个通过url下载文件的需求,只需要简单的编写一个py脚本即可.从网上搜了下python实现文件下载的方法,总结如下,备查. 以下方法均已测试,环境win8.1  python2.6/2.7 待补充.-- 20150507 方法一: 使用 urllib 模块提供的 urlretrieve() 函数.urlretrieve() 方法直接将远程数据下载到本地. urlretrieve(url, [filename=None, [reporthook=None, [data=None]]]

三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader

发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"upload",其它的不做任何处理: <form method="POST" action="upload" enctype="multipart/form-data"> 名字 <input type="text&q

wx.createSelectorQuery()的方法讨论

在之前的<小程序节点查询方法:wx.createSelectorQuery()的使用场景与注意事项>中,讨论了节点查询方法. 最近在wx.createSelectorQuery()实际使用中又发现了一些问题:新建query对象后,调用exec,然后返回时发现,回调竟然为异步调用. 举个栗子: 代码: // 页面宽度 var screenWidth; var query = wx.createSelectorQuery().select(".container").bound

第三方Girdview中文件下载的方法,以及js显示图片

/// <summary> /// 文件下载事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Grid_OnCopyInsertClick(object sender, EventArgs e)         { LinkButton LBut = se

文件下载公共方法 以及调用

/*  * List<String[]>   传入  * 公共方法  */ public static boolean exportCsv(File file, List dataList) {  boolean isSuccess = false;    if(file == null || !file.getName().toUpperCase().endsWith(格式)) {   isSuccess = false;  } else {   FileOutputStream out =

CSS完美兼容IE6/IE7/IE8/IE9/IE10的通用方法

关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对… 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HA

jquery/js不支持ie9以下版本的方法或属性

1.jquery的trim()去除字符串两边的空格,在ie5~8中不支持此方法.若想替换字符串所有的空格看使用replace()正则替换: var date=" 2014-1 0-  15 "; date=date.replace(/\s/g,""); 其中\s表示空格,g代表全局,即这个字符串里的全部空格. 2.js之getElementByClassName() 此方法不支持ie5~8,如果允许使用jquery的话,可使用class选择器:$(".cl