问题描述
我正在尝试将设备上的图像上传到Firebase存储,但是我不知道应该使用哪种格式。我已经尝试过put和putString,但是它们都给了我无效的参数。
const pickImage = async () => {
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.All,allowsEditing: true,aspect: [4,3],quality: 1,});
if (!result.cancelled) {
setimage(result.uri);
}
};
const uploadImage = async () => {
if (!image) {
Alert.alert(
'You have to choose an image first'
);
} else {
const uri = image;
console.log(uri);
const filename = uri.substring(uri.lastIndexOf('/') + 1);
const uploadUri = Platform.OS === 'ios' ? uri.replace('file://','') : uri;
setUploading(true);
setTransferred(0);
const task = firebase.storage()
.ref(filename)
.put(uploadUri);
// set progress state
task.on('state_changed',snapshot => {
setTransferred(
Math.round(snapshot.bytesTransferred / snapshot.totalBytes) * 10000
);
});
try {
await task;
} catch (e) {
console.error(e);
}
setUploading(false);
Alert.alert(
'Photo uploaded!','Your photo has been uploaded to Firebase Cloud Storage!'
);
setimage(null);
}
};
这是图像的uri(console.log输出):
这是使用.put(uploadUri)的错误:
这是使用.putString(uploadUri,'data_url')的错误:
解决方法
要使用data$LineItem_LongName <- as.integer(data$LineItem > mean(data$LineItem,na.rm = TRUE))
将图像上传到Firebase存储,您需要将put
作为参数而不是blob
作为参数。
例如,您可以执行以下操作:
string