如何使浏览器从xhr请求下载文件
How to make browser download file from xhr request
我正在向服务器发送xhr
请求以下载文件。我在请求中包含了授权令牌,这样我就不能在不使用xhr
的情况下下载文件。当收到来自服务器的响应时,我应该采取什么步骤使浏览器下载文件?服务器应该包含哪些标头?
这是一段适合我的代码。我用它来测试,所以它不是最干净的方式,我想。但是它可以显示图片。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var downloadUrl = URL.createObjectURL(xhttp.response);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = downloadUrl;
a.download = "";
a.click();
}
};
xhttp.open("GET", fileUrl, true);
xhttp.responseType = "blob";
xhttp.setRequestHeader('Authorization', token);
xhttp.send();
这不是关键,我只是需要它在我的情况下:
xhttp。setRequestHeader("授权",令牌);
这个链接也很有用:发送和接收二进制数据
相关文章:
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- PJAX请求完成并下载资产后的回调
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- 如何在Liferay serveResource(-,-)方法中从AJAX请求下载文件
- 节点:通过请求下载zip,zip已损坏
- 将 JSON 下载为文件:IE-11 抛出 414 请求 URI 太大
- ExtJS 5 - 从 POST servlet 请求下载文件
- node.js从http请求列表中将图像下载到服务器
- Http 文件下载请求停止 JQuery ajax 调用
- XMLHttp请求以块的形式下载大型HTML5视频
- 内容长度不在请求中,但设置了标头.下载后文件无法打开
- 如何在angularjs中请求下载文件
- 下载通过 nodejs 响应 POST 请求而发送的文件
- 为什么我需要 CORS 标头来请求可下载的链接
- 尝试通过PHP通过XML请求下载图像文件
- NodeJS-如何通过请求下载文件
- 作为非管理员用户,可以请求下载javascript文件
- 如何使浏览器从xhr请求下载文件
- 用javascript的REST请求下载zip文件夹.React.js
- 发送请求下载文件,用Javascript捕获响应