带令牌承载javascript的onload函数
我有我的功能带令牌承载javascript的onload函数,javascript,image,token,onload,bearer-token,Javascript,Image,Token,Onload,Bearer Token,我有我的功能 function setImg(imgUrl){ img.src = imgUrl img.onload = function () { ctx.canvas.width = this.width; ctx.canvas.height = this.height; ctx.drawImage(img, 0,0); updateData(lastData) }; 需要上传图像大小并放入画布。上传图像需要承载令牌 我已经试着为这个
function setImg(imgUrl){
img.src = imgUrl
img.onload = function () {
ctx.canvas.width = this.width;
ctx.canvas.height = this.height;
ctx.drawImage(img, 0,0);
updateData(lastData)
};
需要上传图像大小并放入画布。上传图像需要承载令牌
我已经试着为这个功能的开始做广告了
img.src = imgUrl + '?access_token=xxxxxxxxxxxx';
但它不起作用。我必须使用纯js,我看到了所有其他问题,但没有一个是有用的。有人能帮忙吗
我也试着做了一些内部设置
let tmp1;
var oReq = new XMLHttpRequest();
oReq.open("GET", imgUrl, true);
oReq.setRequestHeader("Authorization", "Bearer xxxxxx");
// use multiple setRequestHeader calls to set multiple values
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var u8 = new Uint8Array(arrayBuffer);
var b64encoded = btoa(String.fromCharCode.apply(null, u8));
var mimetype="image/png"; // or whatever your image mime type is
// document.getElementById("yourimageidhere").src="data:"+mimetype+";base64,"+b64encoded;
tmp1 = "data:"+mimetype+";base64,"+b64encoded;
}
};
oReq.send(null);
img.src = tmp1;
img.onload = function () {
ctx.canvas.width = this.width;
ctx.canvas.height = this.height;
ctx.drawImage(img, 0,0);
updateData(lastData)
};
但它不起作用。上传图像需要持证人令牌。设置
img
的src
表示您正在下载图像。你能解释一下你想做什么吗?这能回答你的问题吗?我必须从imgUrl发出一个get请求,我需要通过持有者来完成请求
const src = imgUrl;
const options = {
headers: {
'Authorization': 'Bearer xxxxxxx'
}
};
fetch(src, options)
.then(res => res.blob())
.then(blob => {
// console.log("AAA", URL.createObjectURL(blob) );
img.src = URL.createObjectURL(blob);
});