Javascript 使用js将图像url指向file()对象

Javascript 使用js将图像url指向file()对象,javascript,vue.js,quasar,Javascript,Vue.js,Quasar,对于我的vue应用程序中的注册模块,我允许用户以表单形式上传图像。我将这些图片上传到我的存储器中,并将此照片的下载url保存在注册中。当编辑注册时,我需要从存储器中取出照片,这很简单,因为我得到了url。但我需要它是一个file()对象。我已经找到了将它转换为blob的方法,但它必须是一个文件。如何执行此操作?由于您允许用户上载文件,因此您已经将该文件作为文件对象 但是,如果要将其转换为blob进行编辑,并将其转换回文件对象,则可以使用文件()构造函数将blob转换为文件 const file=

对于我的vue应用程序中的注册模块,我允许用户以表单形式上传图像。我将这些图片上传到我的存储器中,并将此照片的下载url保存在注册中。当编辑注册时,我需要从存储器中取出照片,这很简单,因为我得到了url。但我需要它是一个file()对象。我已经找到了将它转换为blob的方法,但它必须是一个文件。如何执行此操作?

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

但是,如果要将其转换为blob进行编辑,并将其转换回
文件
对象,则可以使用
文件()
构造函数将blob转换为文件

const file=新文件([blob],“imagename.png”)


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

可以通过请求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);
}

我不知道,因为上传在其他模块中。我从数据库中获取数据,因此包括文件在内的所有本地项目都消失了。我不需要它变成一团。我想这可能是一个解决办法,将url更改为blob,然后将blob更改为文件,但我认为有一种更直接的方法。