我正在尝试将 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()
}
它正在按预期工作。
Firebase Storage 不会尝试以任何方式解释您上传的文件或字节。它只是字节,这就是“application/octet-stream”的含义。对于 Firebase,EXIF 元数据只是文件中的更多字节。
如果您再次下载该文件,它仍然会包含您上传的所有内容,包括文件中嵌入的任何元数据。
如果您想在上传过程中记录元数据或更改存储中的内容类型,您可以使用提供的 API(如文档中所示)自行完成此操作。但这些都不会改变上传或下载的内容,因为这些字节永远不会改变。