关于将图像上传到 Firebase 存储(使用 image_picker 0.8.3+1)
About uploading images to Firebase Storage (with image_picker 0.8.3+1)
Image_Picker更新后,使用“XFile”代替“File”,使用“pickImage(...)”代替“getImage(...)”。
await _picker.pickImage(source: ImageSource.camera)
此代码现在 returns XFile。
相关代码如下
XFile _image;
final ImagePicker _picker = ImagePicker();
Future getImageFromCamera() async {
final pickedFile = await _picker.pickImage(source: ImageSource.camera);
setState(() {
if (pickedFile != null) {
_image = pickedFile;
} else {
print("No image selected");
}
});
}
Future<void> uploadImageToStorage(XFile imageFile) async {
String imageName = "${AuthService().getCurrentUID()}";
FirebaseStorage.instance
.ref()
.child("photos")
.child(imageName)
.putFile(_image);
}
错误
The argument type 'XFile' can't be assigned to the parameter type 'File'.
我无法在 putFile(...) 中写入“_image”。它要求我输入“文件”类型。但是 _image 是“XFile”类型。
如何将图片上传到 Firebase 存储?
import 'dart:io' as i;
Future<void> uploadImageToStorage(XFile imageFile) async {
String imageName = "${AuthService().getCurrentUID()}";
FirebaseStorage.instance
.ref()
.child("photos")
.child(imageName)
.putFile(i.File(_image.path));
}
您需要使用 XFile
路径中的 File
将其转换为文件对象。
Image_Picker更新后,使用“XFile”代替“File”,使用“pickImage(...)”代替“getImage(...)”。
await _picker.pickImage(source: ImageSource.camera)
此代码现在 returns XFile。
相关代码如下
XFile _image;
final ImagePicker _picker = ImagePicker();
Future getImageFromCamera() async {
final pickedFile = await _picker.pickImage(source: ImageSource.camera);
setState(() {
if (pickedFile != null) {
_image = pickedFile;
} else {
print("No image selected");
}
});
}
Future<void> uploadImageToStorage(XFile imageFile) async {
String imageName = "${AuthService().getCurrentUID()}";
FirebaseStorage.instance
.ref()
.child("photos")
.child(imageName)
.putFile(_image);
}
错误
The argument type 'XFile' can't be assigned to the parameter type 'File'.
我无法在 putFile(...) 中写入“_image”。它要求我输入“文件”类型。但是 _image 是“XFile”类型。 如何将图片上传到 Firebase 存储?
import 'dart:io' as i;
Future<void> uploadImageToStorage(XFile imageFile) async {
String imageName = "${AuthService().getCurrentUID()}";
FirebaseStorage.instance
.ref()
.child("photos")
.child(imageName)
.putFile(i.File(_image.path));
}
您需要使用 XFile
路径中的 File
将其转换为文件对象。