跨域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 ...
随机推荐
- SP15637 GNYR04H - Mr Youngs Picture Permutations[DP]
题目来源:POJ:http://poj.org/problem?id=2279 SPOJ:https://www.spoj.com/problems/GNYR04H/ 题意翻译 题目描述 杨先生希望为 ...
- Mybatis 动态SQL注解 in操作符的用法
在SQL语法中如果我们想使用in的话直接可以像如下一样使用: ,,) ; ,,) ; 但是如果在MyBatis中的使用 in 操作符,像下面这样写的话,肯定会报错: @Update("upd ...
- ip_srcroute函数
当响应某个分组时,I C M P和标准的运输层协议必须把分组带的任意源路由逆转.逆转源路由是通过i p _ s r c r o u t e保存的路由构造的. 7 7 7 - 7 8 3 i p _ s ...
- c#调用
一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...
- C#中'??'符的使用
?? 用于判断当前对象是否为null. 语法: 对象 ?? "当前对象为null时赋的默认值". string nullString = null; string Kong = ...
- 15、生命周期-BeanPostProcessor-后置处理器
15.生命周期-BeanPostProcessor-后置处理器 BeanPostProcessor 接口 package org.springframework.beans.factory.confi ...
- Entity Framework学习过程
///安装ef nuget中文控制台指令 PM> Install-Package EntityFramework.zh-Hans <!--配置数据库连接--> <connect ...
- 011_STM32程序移植之_内部flash开机次数管理
011_STM32程序移植之_内部flash开机次数管理 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 ...
- pyecharts v1 版本 学习笔记 柱状图
柱状图 bar 基本演示例子 from pyecharts import options as opts from pyecharts.charts import Bar c =( Bar().add ...
- RabbitMq、ActiveMq、Kafka和Redis做Mq对比
转载自:https://blog.csdn.net/qiqizhiyun/article/details/79848834 一.RabbitMq RabbitMQ是一个Advanced Message ...