代码之家  ›  专栏  ›  技术社区  ›  MarcoLe

Javascript-从assets文件夹中的文件实例化一个新的文件类型

  •  0
  • MarcoLe  · 技术社区  · 7 年前

    我需要上传一张照片(png)位于本地我的资产文件夹到Firebase(DaaS)。现在,正如 docs 我需要为它创建一个新的文件类型。
    enter image description here

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

    有人有什么建议吗?

    编辑

    我成功地创建了一个对文件的引用:

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

    new File() new Blob() 类型。

    1 回复  |  直到 7 年前
        1
  •  0
  •   MarcoLe    7 年前

      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})));
    

    顺便说一句,键入的是typescript语法。

    推荐文章