在flutter中将application / octet-stream转换为image / jpeg / png?

时间:2019-01-22 07:09:09

标签: ios firebase dart flutter firebase-storage

我正尝试使用Imagepicker库将图像上传到Firebase Store,

但是在控制台中,由于图像不可见,因此将格式显示为application / octet-stream。上传时,是否有任何方法可以将这种格式转换为dart中的图像。

1 个答案:

答案 0 :(得分:2)

上传时将文件扩展名传递给文件名

FirebaseStorage.instance
        .ref()
        .child(path)
        .child('image.jpg');

或传递元数据

FirebaseStorage.instance
        .ref()
        .child(path)
        .child('image');
imageStore.putFile(file, StorageMetadata(contentType: 'image/jpeg'));

https://firebase.google.com/docs/storage/web/upload-files#add_file_metadata

  

添加文件元数据

     

上传文件时,您还可以指定元数据   该文件。此元数据包含典型的文件元数据属性   例如名称,大小和contentType(通常称为MIME   类型)。 Cloud Storage会自动从   文件扩展名,文件存储在磁盘上,但是如果您指定   元数据中的contentType它将覆盖自动检测的类型。   如果未指定contentType元数据,并且文件没有   文件扩展名,Cloud Storage默认为类型   应用程序/八位位组流。有关文件元数据的更多信息可以是   在“使用文件元数据”部分中找到。