跨域form下载方式 批量下载
downloadFileForm:function(fid) {
var url = "https://file.xxxx.com/fileDownload.do";
var inputs = "<input type='hidden' name='param' value='' />";
var subNode = $('<form action="' + url + '" method="post" enctype="application/octet-stream">' + inputs + '</form>').appendTo('body');
subNode.find("input").val("{'type'= 0, 'fileId'="+fid+",'time'=" + new Date().getTime() + "}");
subNode.submit();
},
项目中需要跨域下载文件,要求浏览器不能弹出新窗口,找到了这个方法。
重点是application/octet-stream
关于批量下载的方法,但是却不能解决跨域的问题
function down(downfile) {
var fileExt = (/[.]/.exec(downfile)) ? /[^.]+$/.exec(downfile.toLowerCase()) : '';
fileExt = fileExt[0];
var xhr = new XMLHttpRequest();
xhr.open('GET', downfile, true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status == 200) {
let res = this.response; //不是responseText。
let blob = new Blob([res], {type: mimeType[fileExt]});
// var blob = this.response;
console.log(blob);
var filename = "爱搜打打";
var a = document.createElement('a');
var url = URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}
};
xhr.send();
}
跨域form下载方式 批量下载的更多相关文章
- php 跨域 form提交 2种方法
出于安全因素考虑,直接跨域访问是不允许的,下面介绍二种跨域的方法. 一,通过php curl function curlPost($url,$params) { $postData = ''; for ...
- PHP跨域form提交
因为安全性因素,直接跨域访问是不被允许的. 1.PHP CURL方式 function curlPost($url,$params) { $postData = ''; foreach($params ...
- JAVA SFTP文件上传、下载及批量下载
JavaJsch 1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/ 2.jsch简介 JSch(Java Secure Channel)是 ...
- C#实体图片下载与批量下载(自动保存功能)
新工作,第一个小任务,制作一个点击下载图片的功能.并提供批量下载操作.图片是字节流的形式,存放在数据库中的. 为了避免直接从数据库中,下载失败,会在本地保存一份. 进行压缩的是SharpZip这个压缩 ...
- jquery中ajax处理跨域的三大方式
一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: ? 1 2 ...
- 跨域问题Java方式解决及Nginx方式解决【亲测可行】
这两天和前端同事调试微信公众号项目,就遇到了跨域问题:网上相关博客也挺多的,但有很多细节没有点到,在此呢我也再次记录一下解决方式: (算是踩坑日记吧~ ~ ~) !问题发现: 页面加载不出来,控制 ...
- Ajax跨域请求解决方式
前端 jQuery方式 .ajax({ type: "POST", url: "http://xxx.com/api/test", dataType: 'jso ...
- 解决ajax跨域几种方式
发生跨域问题的原因: 浏览器的限制,出于安全考虑.前台可以正常访问后台,浏览器多管闲事报跨域问题,但其实前台已经访问到后台了. 跨域,协议.域名.端口任何一个不一样浏览器就认为是跨域. XHR(XML ...
- 实现跨域请求jsonp方式
原理:http://madong.net.cn/index.php/2012/12/368/ 调用端: $.getJSON("http://192.168.220.85:8001/esb/a ...
随机推荐
- 个人推荐-几款好用的App
前言 在使用智能手机的过程中比较喜欢尝试一些新奇好玩的app,同时也积攒下了不少个人认为很有帮助或很有特点的app,写这篇随笔当做一个记录吧. 便签-小周便签 一款功能十分强大的便签app,在编辑界面 ...
- ubuntu---记录.简单一句话安装tf
卸载 sudo pip3 uninstall tensorflow sudo pip3 uninstall tensorflow-gpu sudo pip3 uninstall tensorflow- ...
- vue 项目中使用postMessage问题总结
问题描述: 由于目前做的项目分成两个项目,通过iframe嵌套,所以用到了 postMessage 当监听传过来的值的时候 出现了接受多次的问题 产生原因: 我的监听事件是放在home页 mount ...
- Selenium(三)webdriver的API与定位元素
在学习定位元素之前,应该要学会: 1.打开浏览器 2.打开网页 3.定位元素及操作 ①定位元素 可只此输入框的id是kw,name是wd,class是s_ipt ②在python编辑器中找到该元素 通 ...
- mysql数据库高并发处理
总体思想:短, 少, 分流 短: 1.页面静态化, 2.使用缓存 3.使用存储过程, 对于处理一次请求需要多次访问数据库的操作, 将操作整合到存储过程, 这样只需要一次数据库访问 4.延迟修改, 将修 ...
- python_公共方法
1.计算长度 value = "wangdianchao" # 计算字符个数(长度) number = len(value) print(number) 2.索引取值 value ...
- Lua 学习之基础篇十<Lua 常见的语法规则>
下面讲一些lua 常见的用法和规则,可以为学习理解lua带来帮助,最后附上的部分是lua的基本操作,基本包含所有常用语法语句. 1. if判断 lua把 nil 和false 视为"假&qu ...
- animation-timing-function
animation-timing-function 语法: animation-timing-function:<single-animation-timing-function>[,&l ...
- shiro认证-SSM
shiro认证-SSM pom <dependency> <groupId>org.apache.shiro</groupId> <artifactId> ...
- ps/top
ps -e 显示所有进程,环境变量 -f 全格式显示 -a 显示所有用户的所有进程(包括其他用户) -u 按用户名和启动时间的顺序显示进程 -x 显示无控制终端的进程 -w 显示加宽可以显示较多信息 ...