我有一个程序允许用户将视频文件上传到 Firebase 存储。如果文件不是 mp4,我会将其发送到第三方视频转换站点以将其转换为 mp4。他们使用 URL 和有关转换文件的其他信息点击了一个 webhook(firebase 函数)。
现在我正在尝试将文件下载到 firebase 函数中的 tmp 目录,然后将其发送到 firebase 存储。我有以下问题。
我可以绕过将文件下载到函数 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
}
}
跃然一笑
相关分类