繁体   English   中英

Javascript-从资产文件夹中的文件实例化新文件类型

[英]Javascript - instantiate a new filetype from a file in the assets folder

我需要将资产文件夹中本地的照片(png)上传到Firebase(DaaS)。 现在,如文档所述,我需要为其创建一个新的文件类型。
在此处输入图片说明

但是如何为本地img设置这样的文件类型? 图像的路径是这样的:

../../../../assets/no-photo-avatar.png

有人有建议吗?

编辑

我设法创建与此文件的引用:

const defaultPhoto: HTMLImageElement = new Image();
defaultPhoto.src = '../../../../assets/no_photo_avatar.png';

但是现在我需要将其转换为new File()new Blob()类型。

要将图像类型转换为文件类型,我这样做-完整解决方案:

  upload(): Promise<void> {
     const defaultPhoto: HTMLImageElement = new Image();
     defaultPhoto.src = '../../../../assets/no_photo_avatar.png';
     return srcToFIle(defaultPhoto.src, defaultPhoto.name, 'image/png').then() => ...) <= firebase methods
  }

  private srcToFile(src, fileName, mimeType): Promise<File> {
     return (fetch(src)
    .then(res => res.arrayBuffer())
    .then(buf => new File([buf], fileName, {type: mimeType})));

}

顺便说一句。 打字是打字稿语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM