颤动& Firebase:将文件作为图像发送

时间:2017-10-01 18:34:17

标签: firebase dart firebase-storage flutter

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

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

我的dependencies

image_picker: 0.1.1
firebase_storage: 0.0.6

1 个答案:

答案 0 :(得分:1)

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