最近遇到圖片上傳問(wèn)題焕梅,已知圖片的url,然后把圖片上傳到自己的服務(wù)器卦洽。常規(guī)方案都會(huì)把圖片下載到本地贞言,然后上傳到自己的服務(wù)器,感覺(jué)這個(gè)場(chǎng)景還是挺常規(guī)的阀蒂,分享下解決文案该窗。同事給了個(gè)方案:圖片url => base64 => blob值 => 上傳。感覺(jué)這個(gè)blob對(duì)象有貓膩蚤霞,查了相關(guān)資料酗失,得出結(jié)論是圖片url => blob值 => 上傳。代碼如下:
//獲取圖片的Blob值
function getImageBlob(url, cb) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob";
xhr.onload = function() {
if (this.status == 200) {
resolve(this.response);
} else {
reject(new Error('異常'));
}
};
xhr.send();
xhr.onerror = () => {
reject(new Error('異常'));
}
})
}
oh,year! 打完争便,收工