亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 Firebase 函數將文件下載到 Firebase 存儲

通過 Firebase 函數將文件下載到 Firebase 存儲

寶慕林4294392 2022-11-11 14:03:02
我有一個程序允許用戶將視頻文件上傳到 Firebase 存儲。如果文件不是 mp4,我會將其發送到第三方視頻轉換站點以將其轉換為 mp4。他們使用 URL 和有關轉換文件的其他信息點擊了一個 webhook(firebase 函數)?,F在我正在嘗試將文件下載到 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     }  }
查看完整描述

1 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

如上文評論部分所述,您可以使用Cloud Storage Node.js SDK將文件上傳到 Cloud Storage。

請查看SDK 客戶端參考文檔,您可以在其中找到有關此 Cloud Storage 客戶端庫的大量示例和更多信息。

另外,我想提醒您,您可以使用管道繞過寫入/tmp 。根據 Cloud Functions 的文檔,“您可以通過創建讀取流、將其傳遞給基于流的進程并將輸出流直接寫入 Cloud Storage 來處理 Cloud Storage 上的文件?!?/em>

最后但同樣重要的是,始終從 Cloud Function 的本地系統中刪除臨時文件。不這樣做最終會導致內存不足問題和隨后的冷啟動。


查看完整回答
反對 回復 2022-11-11
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號