代码之家  ›  专栏  ›  技术社区  ›  Manoj Perumarath

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

  •  1
  • Manoj Perumarath  · 技术社区  · 6 年前

    我试图上传图片到FireBase商店使用 Imagepicker 图书馆,

    但在控制台中,它将格式显示为application/octet流,因为图像不可见。上传时,是否有任何可能的方法可以将该格式转换为DART中的图像?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Günter Zöchbauer    6 年前

    上载时向文件名传递文件扩展名

    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

    添加文件元数据

    上载文件时,还可以指定元数据 对于那个文件。此元数据包含典型的文件元数据属性 例如名称、大小和内容类型(通常称为mime 类型)。云存储自动从 文件扩展名,文件存储在磁盘上,但如果指定 元数据中的ContentType将重写自动检测到的类型。 如果未指定ContentType元数据且文件没有 文件扩展名,云存储默认为 应用程序/八位字节流。有关文件元数据的更多信息可以 在“使用文件元数据”部分中找到。