Javascript - создать новый тип файла из файла в папке ресурсов - PullRequest
0 голосов
/ 14 сентября 2018

Мне нужно загрузить фотографию (png), расположенную локально в папке с активами, в Firebase (DaaS). Теперь, как указано в документах , мне нужно создать для него новый тип файла.
enter image description here

Но как бы мне установить такой тип файла для моего локального img? Путь к изображению таков:

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

У кого-нибудь есть предложение?

Редактировать

Мне удалось создать ссылку на файл с этим:

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

Но теперь мне нужно преобразовать его в тип new File() или new Blob().

1 Ответ

0 голосов
/ 14 сентября 2018

Чтобы преобразовать тип изображения в тип файла, я сделал это - полное решение:

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

}

кстати. набирается машинописный синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...