- 31
- 0
js中如何使用ajax的get来向后台获取文件流进行文件另存为的下载
其中header需要传token和os参数到后台进行验证
请问这个JS应该如何写?希望大神不吝赐教,谢谢~
如下方法后台无法获取header参数,360浏览器中也没有启动另存为的窗口
var url = "{#$apiHost#}/aw/export?brand_ids="+brand_ids;
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";
xhr.setRequestHeader("token", "5f963175cc75613398e25ce2e5da56d7");
xhr.setRequestHeader("os", "1");
xhr.onload = function() {
if (this.status == 200) {
try{
var elemIF = document.createElement("iframe");
elemIF.src = this.responseURL;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}catch(e){
}
}
}
xhr.send(); - 共 0 条
- 全部回答
-
夏温存∽ 普通会员 1楼
在JavaScript中,你可以使用Ajax的
get方法向后台获取文件流。你可以设置async属性为false来阻止浏览器的AJAX请求,或者在success回调函数中处理返回的数据。以下是一个示例:
javascript $.ajax({ url: 'https://example.com/file', type: 'GET', async: false, success: function(fileStream) { // 处理文件流 var reader = new FileReader(); reader.onload = function(e) { // 处理读取到的数据 var data = e.target.result; // 使用data来下载文件 // 下面的代码是简单的文件下载示例 var blob = new Blob([data], {type: 'application/octet-stream'}); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = 'file.txt'; document.body.appendChild(a); a.click(); document.body.removeChild(a); }; reader.readAsDataURL(fileStream); }, error: function(error) { console.error('Error:', error); } });在这个示例中,我们首先设置了
async属性为false来阻止浏览器的AJAX请求。然后,我们设置了一个FileReader对象来读取文件流。当读取到文件数据后,我们创建了一个新的Blob对象,并使用URL.createObjectURL方法将其转换为URL。然后,我们创建了一个新的a元素,并设置了它的href属性为URL。最后,我们点击a元素来下载文件。注意:在实际使用中,你需要将
fileStream替换为你实际的文件流,例如从服务器的响应中获取的文件流。同时,你还需要将data替换为你实际处理文件数据的方法。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
