我很難節省從Expo(React Native)中挑選的圖像。將從ReactNative/Expo ImagePicker中挑選的圖像保存到Baqend
https://docs.expo.io/versions/latest/sdk/imagepicker.html
看來陣營本地沒有上傳所選圖像作爲BLOB支持,但確實有一個base64選項。
代碼:
_pickImage = async() => {
let pickerResult = await ImagePicker.launchImageLibraryAsync({
allowsEditing: true,
base64: true,
aspect: [4, 4],
});
this._handleImagePicked(pickerResult);
};
_handleImagePicked(pickerResult) {
const uri = pickerResult.base64;
const img = new db.File({ name: 'test.jpg', data: uri, type: 'base64', mimeType: 'image/jpg' });
db.UserData.load(this.state.UserDataID).then(UserData => {
img.upload({ force: true }).then((file) => {
UserData.photo = "https://remarkable-apple-95.app.baqend.com/v1" + file.id;
alert(file.id)
return UserData.update();
},
(error) => { alert(error); }
);
});
}
當我console.log(pickerResult.base64)
我得到一個超長字符串,它看起來像的base64,但在運行時,該img.upload
拋出錯誤,它說"PersistentError: An unexpected persistent error occurred."