情況
我希望我的客戶能夠為其個人資料設定新的個人資料圖片(“pfp”)。原始 pfp 用于生成縮略圖,這些縮略圖也存盤在 Firebase 存盤中。
當前解決方案
我只是從客戶端上傳 pfp
File pfp = File("original.jpg");
await storageRef.putFile(file);
之后,觸發云功能,下載影像,調整大小,然后再次上傳縮略圖。它與此解決方案非常相似:https ://fireship.io/lessons/image-thumbnail-resizer-cloud-function/
問題
這里的問題是,如果縮略圖生成功能失敗,這意味著縮略圖沒有生成和上傳,客戶端不會得到任何表明這一點的回應。當原始影像上傳時,他們會認為他們成功設定了新的 pfp,但是沒有縮略圖。我想要一個解決方案,確保當用戶設定他們的 pfp 時,它要么全部成功,要么通知他們出了問題,他們可以從中重試(中間沒有)。也許我正在錯誤地接近這個......
uj5u.com熱心網友回復:
fireship.io教程中使用的Cloud Function是onFinalize()觸發式的,即原圖上傳到云存盤時觸發。在您的情況下,這意味著它在對該putFile()方法的呼叫完成時被觸發。
您可以將 Cloud Function 型別更改為Callable型別,在呼叫await storageRef.putFile(file);. 使用 Callable Cloud Function,您的前端可以接收縮略圖生成的結果。請注意,呼叫 Callable Cloud Function 時需要傳遞原始影像的路徑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/526336.html
標籤:Google Cloud Collective 火力基地谷歌云火库谷歌云功能谷歌云存储
上一篇:如何使彈出視頻回應于移動設備
