js导出文件保存在本地
来源:互联网 发布:angular tooltips.js 编辑:程序博客网 时间:2024/06/04 22:52
项目中用到导出配置,本来说是由前台来做的,所以查了相关资料,试了好几种方案,比如:
html
<div class="b-2" style="margin-left: 100px;" id="exportParams"> <a data-type="json" href="javascript:;" ng-click="dataToTxt()">导出</a></div>
js
$scope.configParams = "";//导出$scope.paramExport = function(){ Device.getOutputDevConfig(null,{ success: function (param) { $scope.configParams = param.config; console.log(param.config); $scope.export_add('exportParams', $scope.configParams); }, fail:function (resp){ }, error:function (resp){ } });} //点击a链接$scope.dataToTxt = function(){ $scope.paramExport();}$scope.ev_click = function(obj){ var ev = document.createEvent("MouseEvents"); ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); obj.dispatchEvent(ev);}$scope.export_add = function(name, data){ var urlObject = window.URL || window.webkitURL || window; var export_blob = new Blob([data]); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") save_link.href = urlObject.createObjectURL(export_blob); save_link.download = name; $scope.ev_click(save_link);}
采用这种方案,调试在Firefox,chorme,搜狗,360等浏览器上,均可正常导出,但是在IE上无论是Edge,IE10,9,8..均不能正常下载导出,坑爹啊>~<,尝试N种方式….(ie对此也太不友好了吧!!!)关于对待ie的兼容真是一条漫漫长路啊,(os:我是非常不情愿的…)
其实这真的是一个很常见的功能,可是感觉网上查到的资料竟然非常之少…
如果小伙伴们有更好的方式,请Call我.
因为项目比较紧,没有留给我太多的时间做这个,最终还是后台给了我一个Url接口地址(手动捂脸…,感谢不杀之恩,救我于水深火热之中)
确实感觉简单多了,还传了个参数sessionId
$scope.dataToTxt = function(){ var sessionId =parseInt(sessionStorage.getItem("sessionId"))||0; var url ="/cgi-bin/export.cgi", //这是接口地址 form = $('<form action="'+url+'" method="GET" target="_blank"></form>'); form.append($("<input></input>").attr('type', 'hidden') .attr('name', 'sessionId' ) //添加参数sessionId .attr('value', sessionId)); //对应的值 $('body').append(form); form.submit(); //提交表单}
后续,有时间还是会继续思考前台导出的…
未完~
参考文档:
https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent/initMouseEvent
http://scarletsky.github.io/2016/07/03/download-file-using-javascript/
阅读全文
0 0
- js导出文件保存在本地
- JS保存文件到本地
- 导出,打印和保存本地日志文件 - 导出GridControl
- jQuery或者js保存文件到本地
- 根据模板生成word文件并导出保存到本地
- 根据模板生成word文件并导出保存到本地
- 导出,打印和保存本地日志文件 - 打印
- 导出Excel,并保存本地
- 在ADF导出excel文件并保存在客户端
- js将html生成为图片,并保存在本地
- js 导出table并保存为excel文件
- 保存文件到本地
- 保存导出execl文件
- Android在终端本地保存txt文本文件及zip文件
- Android在终端本地保存txt文本文件及zip文件
- 获取表单文件,并保存在本地(Servlet)
- 将账号密码用Plist文件保存在本地
- plist文件的形式保存在本地程序沙盒中
- Unity3D 2017 Mac 编译 Android
- 访问类型
- El和JSTL
- 领先的H5、WebGL和WebVR作品分享平台,以虚拟魔力升华真实体验。
- Linux IO复用--select()和poll()
- js导出文件保存在本地
- spark-streaming
- 【Person Re-ID】In Defense of the Triplet Loss for Person Re-Identification
- CSS基础(7.初识margin)
- 5种语言的callback实现
- 字符串的交错组成 动态规划
- 为什么使用redis
- Gilde加载网络图片到TextView的DrawableTop
- SparkWordCount源码原理