實現一個小功能,遠程url轉為file對象
方案一:
function getFileFromUrl(url: string, fileName: string) {
return new Promise(async (resolve, reject) => {
const response = await fetch(url);
const blob = await response.blob()
let file = new File([blob!], fileName, { type: blob.type });
resolve(file)
})
}
方案二:
function getFileFromUrl(url: string, fileName: string) {
return new Promise((resolve, reject) => {
var blob = null;
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
// 加載時處理
xhr.onload = () => {
// 獲取返回結果
blob = xhr.response;
let file = new File([blob!], fileName, { type: blob!.type });
// 返回結果
resolve(file);
};
xhr.onerror = (e) => {
reject(e)
};
// 發送
xhr.send();
});
}
使用:
getFileFromUrl(url, name).then(res => {
})
參考文章