У меня есть программа, которая позволяет пользователям загружать видеофайлы в хранилище firebase. Если файл не в формате mp4, я отправляю его на сторонний сайт преобразования видео, чтобы преобразовать его в mp4. Они попадают в веб-перехватчик (функция firebase) с URL-адресом и другой информацией о преобразованном файле.
Прямо сейчас я пытаюсь загрузить файл в каталог tmp в функциях firebase, а затем отправить его в хранилище firebase. У меня есть следующие вопросы:
Могу ли я обойти загрузку файла в каталог functions tmp и просто сохранить его непосредственно в хранилище? если да, то как?
У меня в настоящее время возникают проблемы с загрузкой в функции tmp dir, ниже - мой код. Функция возвращает Function execution took 6726 ms, finished with status: 'crash'
export async function donwloadExternalFile(url:string, fileName:string) {
try {
const axios = await import('axios')
const fs = await import('fs')
const workingDir = join(tmpdir(), 'downloadedFiles')
const tmpFilePath = join(workingDir, fileName)
const writer = fs.createWriteStream(tmpFilePath);
const response = await axios.default.get(url, { responseType: 'stream' })
response.data.pipe(writer);
await new Promise((resolve, reject) => {
writer.on('error', err => {
writer.close();
reject(err);
});
writer.on('close', () => {
resolve();
});
});
return
} catch (error) {
throw error
}
}