代码之家  ›  专栏  ›  技术社区  ›  Jack Guo

heic图像保存为应用程序/八位字节流

  •  0
  • Jack Guo  · 技术社区  · 2 年前

    我正试图将HEIC图片上传到Firebase,但控制台中显示它们具有“application/octet stream”类型,所有EXIF元数据都不见了。这是否按预期工作?

    我是这样上传的:

    func upload(image: UIImage) async throws -> URL {
      let data = image.heicData()!
      _ = try await storage.reference().child("path/to/image.heic")
      return try await path.downloadURL()
    }
    
    1 回复  |  直到 2 年前
        1
  •  2
  •   Doug Stevenson    2 年前

    它正在按预期工作。

    Firebase Storage不会试图以任何方式解释您上传的文件或字节。它只是字节,这就是“应用程序/八位字节流”的含义。对于Firebase来说,EXIF元数据只是文件中更多的字节。

    如果你再次下载该文件,它仍然会包含你上传的所有内容,包括嵌入文件中的任何元数据。

    如果您想在上传过程中记录元数据或更改存储中的内容类型,您可以使用 provided API as shown in the documentation 。但这些都不会改变上传或下载的内容,因为这些字节永远不会改变。