我想将用户在我的应用程序中 Select 的照片发送到Firebase存储.我有一个属性为_imageFile的简单类,其设置如下:

File _imageFile;

_getImage() async {
    var fileName = await ImagePicker.pickImage();
    setState(() {
        _imageFile = fileName;
    });
}

在那之后,我发送的照片与此代码类似:

final String rand1 = "${new Random().nextInt(10000)}";
final String rand2 = "${new Random().nextInt(10000)}";
final String rand3 = "${new Random().nextInt(10000)}";
final StorageReference ref = FirebaseStorage.instance.ref().child('${rand1}_${rand2}_${rand3}.jpg');
final StorageUploadTask uploadTask = ref.put(_imageFile);
final Uri downloadUrl = (await uploadTask.future).downloadUrl;
print(downloadUrl);

问题是这些照片通常非常大.在上传前,有没有什么方法可以在flift/Dart中压缩照片并调整其大小?我不介意质量下降.

推荐答案

image_picker插件目前非常简单.添加用于指定所拾取图像的所需大小/质量的选项会很简单.如果您这样做了,请给我们发送一个拉取请求!

Flutter相关问答推荐

如何更改默认应用程序启动器/启动屏幕

在Flutter TextField中计算子字符串位置

为什么Build_Runner的输出为0?

修复后期变量的抖动皮棉

在Fighter中,我如何在窗口的顶部和底部排列Widget?

我想创建一个可滚动的堆叠列表项,每个项都朝向屏幕

构建方法中的性能声明小部件

Riverpod 2.0-如何使用FutureOr和AutoDisposeSyncNotificationer处理api状态代码?

Flutter记录返回类型问题

如何从flutter连接PostgreSQL数据库?

无状态小部件被奇怪地重建

如何正确地将 PageView 设置为 AppBar 的标题?

如何防止键盘将内容向上推?

Flutter 错误:OutletListModel类型的值不能分配给List类型的变量?

如何根据应用程序主题(深色和浅色)更改谷歌 map 的主题?

如何使用列Flutter 中文本占用的空间来控制svg宽度

Firebase Cloud Messaging (Flutter):订阅主题时出现错误消息

如何按键在 map 列表中搜索

使用 hydrad_bloc 的预览包

Flutter AAPT:错误:找不到资源android:attr / lStar