flutter - 我想知道如何将来自 Flutter Web 的图像上传到 Firebase 存储
问题描述
我要将图像带到网络并将其上传到存储。我正在使用 sdk 2.7.0 和 image_picker_web: ^1.0.9。并使用以下代码获取图像。
下面是用于在屏幕上输出图像的按钮和用于将图像上传到存储器的按钮。
RaisedButton(
onPressed: () {
pickImage().then((value) {
setState(() {
mediaInfo = value;
});
});
},
child: Text("Select Image"),
),
TextButton(
onPressed: () async {
StorageReference storageReference = FirebaseStorage.instance
.ref()
.child('testImg/post.jpg');
StorageUploadTask uploadTask = storageReference.putFile(File(mediaInfo.data));
await uploadTask.onComplete;
print('File Uploaded');
String returnURL;
await storageReference.getDownloadURL().then((fileURL) {
returnURL = fileURL;
});
return returnURL;
},
child: Text("upload"))
图像选取方法
Future<MediaInfo> pickImage() async {
MediaInfo mediaInfo = await ImagePickerWeb.getImageInfo;
// imageFile = await ImagePickerWeb.getImage(outputType: ImageType.file);
// imageFile2 = await ImagePickerWeb.getImage(outputType: ImageType.bytes);
if (imageFile != null) {
print(imageFile.name);
// print(imageFile2.toString());
}
// return mediaInfo;
}
此图像文件不可用于存储代码。您如何在网络上处理此问题?
StorageUploadTask uploadTask = storageReference.putFile(File(mediaInfo.data)); //error!
谢谢你。
解决方案
推荐阅读
- firebase - 缩短的 Firebase 动态链接不适用于预填充的 Google 表单链接
- javascript - Wordpress Rest API - 使用 Backbone 客户端的无效随机数
- forms - 添加具有相同参考 ID 的附加记录
- excel - 如何在没有任何计算的情况下显示数据透视表
- excel - 使用一列更新另一列中的值
- azure - 可以在没有 RDP 连接的情况下更新 Azure VM(Windows Server)吗?
- java - 静止物体和运动物体之间的碰撞
- javascript - 如何使用javascript获取两个日期的月份数
- aws-sdk - 是否有用于使用 VTL 的 AWS Appsync 的 Model.objects.update_or_create()?
- prolog - 路径重复超过特定数量