我剛剛發現了一些新東西,所以在我的作業場所,我通過我的合作伙伴準備的 api 端點將影像上傳到服務器我只需要對我從 image_picker 選擇的影像檔案進行編碼并將其編碼為 base64Encode,然后我把它放在正文中范圍
Future toBytes({image}) async {
var xFile = await image;
var path = xFile.path;
var imageBytes = await File(path).readAsBytes();
var base64Image = base64Encode(imageBytes);
return base64Image;
}
但就在最近我發現在 firebase_storage 它可以上傳檔案而無需編碼 base64
var ref = FirebaseStorage.instance
.ref()
.child('user_image')
.child(authResult.user.uid '.jpg');
await ref.putFile(image).onComplete;
所以問題是這兩種方法有什么不同?我可以將影像上傳到每個 api 而不將其轉換為位元組還是只是在 firebase_storage 中?我還沒有嘗試過上傳影像檔案而不將其轉換為base64,除了firebase_storage,因為修改代碼很麻煩
uj5u.com熱心網友回復:
我想他們正試圖將影像存盤在 firestore 而不是 firebase 存盤中,因為轉換為 base64 是一種在主要 ASCII 系統(firestore)中使用二進制資料的方法。我認為你應該考慮做的是詢問你的合作伙伴他們在這里的決定是什么,以及它如何影響你對產品的整體設計。他們可能有未明確說明的意圖,并出于特定目的選擇了影像資料的 base64 編碼。進行這樣的討論將是一個很好的第一步。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/528836.html
