Ios 使用base64字符串在flask中上载/显示iPhone HEIC图像会产生损坏的图像
我正在使用文件选择器向用户询问图像文件(png或jpeg)。每当我上传从iPhone上拍摄的照片时,图像就显得不完整。我将上传的图像保存为mysql数据库中的字节,然后将它们转换为base64字符串Ios 使用base64字符串在flask中上载/显示iPhone HEIC图像会产生损坏的图像,ios,flask,base64,heic,Ios,Flask,Base64,Heic,我正在使用文件选择器向用户询问图像文件(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') imgBy
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图像与众不同