4

我正在使用文件选择器向用户询问图像文件(png 或 jpeg)。每当我上传从 iPhone 拍摄的照片时,图像都会显得不完整。我将上传的图像作为字节保存在 mysql 数据库中,然后将它们转换为 base64 字符串。

 ph = request.files[form.picture.name]
 pic = request.files[form.picture.name].read()
 pic = Image.open(BytesIO(pic))
 pic = pic.convert('RGB')
 imgByteAr = BytesIO()
 pic.save(imgByteAr, format='JPEG')
 imgByteAr = imgByteAr.getvalue()
 pic.close()

然后将 imgByteAr 保存到我的数据库中。但是,当我从 base64 模块运行 base64.b64encode(imgByteAr).decode('utf-8') 并将其显示在 img 标签中时,图像会像这样出现。我知道 iOS 11 使用 HEIC 格式的图像,但即使我将设置更改为仅使用 JPEG,也会发生相同的错误。使用来自我的 iPhone 以外的来源的 JPEG 图像时,问题消失了。是什么让 iPhone 中的 JPEG 图像与众不同? 显示图像

4

0 回答 0