无法使用 flutter 在 firebase 中预览我的图像...
这是来自画廊的图像选择器服务的代码
Future<File?> getImageFromGallery() async {
final pickedFile = await _picker.pickImage(source: ImageSource.gallery);
if (pickedFile != null) {
image = File(pickedFile.path);
return image;
} else {
Fluttertoast.showToast(msg: 'Error , No Image Selected');
return null;
}
}
使用事件获取文件,然后上传到 firebase 存储:
on<SubmitUserFormDataEvent>((event, emit) async {
emit(UserFormLoadingState());
// uploading the picture to firebase storage & get url
File file = event.profile_image_file;
String baseName = file.path.split('/').last;
Reference ref = FirebaseStorage.instance
.ref()
.child("profile_images/$baseName"); //generate a unique name
await ref.putFile(file);
String imageUrl = await ref.getDownloadURL();
print(imageUrl);
成功上传到firebase并获取downloadUrl。如果我点击 Chrome 中的下载网址,它会自动开始下载,但图像没有显示。这就是为什么我无法将其显示到 UI。
将图像扩展名添加到文件,同时将其上传到 Firebase Storage,如下所示
await ref.putFile(file,
SettableMetadata(
contentType: "image/jpeg",
),
);