js 通过文件地址URL转为File文件对象


前言

后端返回的是文件地址,并不是文件流或base64编码字符串,而修改数据的接口又只接受文件。

一、思路

通过文件地址URL,将所指文件转为File文件对象

二、示例

文件url地址转为文件对象,代码如下(调用即可):

//
getFileFromUrl(url, fileName) {
          return new Promise((resolve, reject) => {
              var blob = null;
              var xhr = new XMLHttpRequest();
              xhr.open("GET", url);
              xhr.setRequestHeader('Accept', 'image/png');
              xhr.responseType = "blob";
              // 加载时处理
              xhr.onload = () => {
              	// 获取返回结果
                  blob = xhr.response;
                  let file= new File([blob], fileName, { type: 'image/png' });
                  // 返回结果
                  resolve(file);
              };
              xhr.onerror = (e) => {
                  reject(e)
              };
              // 发送
              xhr.send();
          });
      }

2.调用方式

代码如下(示例):

let file = null
this.getFileFromUrl(url,name)
	.then((response)=>{
      file = response
    })
	.catch((e)=>{
	  console.error(e)
    });
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐