使用js到file()对象的图像URL

时间:2019-03-04 12:46:17

标签: javascript vue.js quasar

对于我的Vue应用程序中的注册模块,我允许用户以表格形式上传图像。我将这些图像上传到存储中,并将该照片的下载URL保存在注册中。编辑注册时,我需要从存储中取出照片,这很简单,因为我获得了网址。但是我需要它成为一个file()对象。我已经找到了将其转换为Blob的方法,但它必须是文件。我该怎么办?

2 个答案:

答案 0 :(得分:4)

可以通过请求blob并生成File对象来完成。必须指定Blob的MIME类型。

const urlToObject= async()=> {
  const response = await fetch(image);
  // here image is url/location of image
  const blob = await response.blob();
  const file = new File([blob], 'image.jpg', {type: blob.type});
  console.log(file);
}

答案 1 :(得分:0)

由于允许用户上传文件,因此您已经将文件作为File对象。

但是,如果您想将其转换为blob以进行一些编辑并将其转换回File对象,则可以使用File()构造函数将blob转换为File。

const file = new File([blob], "imagename.png");

另外,请注意,File()构造函数将blob数组作为参数而不是单个blob。