博客 / 詳情

返回

文件url路徑轉換file對象

實現一個小功能,遠程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 => {
})

參考文章

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.