#angular #typescript #file-upload #firebase-storage #angularfire2
#angular #typescript #загрузка файла #firebase-хранилище #angularfire2
Вопрос:
Я хочу загрузить файл, который хранится в моем каталоге angular assets. Ниже приведен код, который я использую для загрузки файлов в firebase.
const file = this.selectedProPic;
const filePath = `${this.uid}/propic`;
const fileRef = this.afStorage.ref(filePath);
this.taskProPic = this.afStorage.upload(filePath, file);
Здесь переменной file присваивается файл, который выбирается из средства загрузки файлов в формате html. мне нужно изменить эту часть / переменную ‘file’, чтобы выбрать файл, который находится в assets/img/default-avatar.jpg . Я пробовал использовать toPath и pathToFileURL, а также поиск в Google. но ни один из них не работал
Ответ №1:
Вы можете использовать http-клиент Angular:
this.http.get('assets/filename.txt', {responseType: 'text'})
.subscribe(data => {
const file = data;
const filePath = `${this.uid}/propic`;
this.afStorage.upload(filePath, file);
});
Однако, в зависимости от типа файла, вы можете задать правильный responseType.
Комментарии:
1. Это сработало! Спасибо! Я хотел загрузить изображение. Итак, я изменил responseType на ‘blob’