【问题标题】:Flutter & Firebase: Send File as ImageFlutter 和 Firebase:将文件作为图像发送
【发布时间】:2018-03-12 22:31:31
【问题描述】:

我想将用户在我的应用中选择的照片发送到 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);

我的问题出现在 firebase 控制台中:

照片有application/octet 类型而不是image/png。有没有办法解决这个问题?或者也许这是一个好的行为,我不应该在这里关心类型?下载这张照片怎么样?

我的dependencies

image_picker: 0.1.1
firebase_storage: 0.0.6

【问题讨论】:

    标签: firebase dart firebase-storage flutter


    【解决方案1】:

    firebase_storage 插件目前没有用于指定上传文件元数据的 API。如果您想添加它,这将非常简单,您可以向我们发送拉取请求。但是,application/octet-stream 并没有错;它是二进制文件的通用 mime 类型,在大多数情况下应该可以正常呈现。

    【讨论】:

      猜你喜欢
      • 2013-01-30
      • 2019-05-07
      • 2023-01-05
      • 2018-02-20
      • 2021-07-03
      • 2017-02-24
      • 2011-09-22
      • 2020-05-08
      • 2019-03-19
      相关资源
      最近更新 更多