gpt4 book ai didi

javascript - 使用 Javascript 添加自定义 http header 并触发文件下载

转载 作者:可可西里 更新时间:2023-11-01 02:44:53 25 4
gpt4 key购买 nike

我想通过浏览器开始一个简单的文件下载,但是必须使用自定义 HTTP header 传递访问 token :

GET https://my.site.com/some/file
Authorization: access_token

如何在站点 URL 后面注入(inject) Authorization: header ?我知道使用查询字符串可以做到这一点,但我想使用 header 来做到这一点。

我熟悉 XMLHttpRequest,但据我了解它不会触发下载,它只会读取内容,我要下载的文件至少有几百 MB。

xhr.setRequestHeader('Authorization', 'access_token');

这看起来像是一项简单的任务,但我是一个没有经验的编码员,所以任何帮助都会很好。谢谢。

最佳答案

我认为这可以解决您的问题:

function toBinaryString(data) {
var ret = [];
var len = data.length;
var byte;
for (var i = 0; i < len; i++) {
byte=( data.charCodeAt(i) & 0xFF )>>> 0;
ret.push( String.fromCharCode(byte) );
}

return ret.join('');
}


var xhr = new XMLHttpRequest;

xhr.open( "GET", "https://my.site.com/some/file" );

xhr.addEventListener( "load", function(){
var data = toBinaryString(this.responseText);
data = "data:application/text;base64,"+btoa(data);
document.location = data;
}, false);

xhr.setRequestHeader("Authorization", "access_token" );
xhr.overrideMimeType( "application/octet-stream; charset=x-user-defined;" );
xhr.send(null);

修改后的答案 https://stackoverflow.com/a/10518190/2767026以满足您的需求。

关于javascript - 使用 Javascript 添加自定义 http header 并触发文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com