Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用base64字符串在flask中上载/显示iPhone HEIC图像会产生损坏的图像_Ios_Flask_Base64_Heic - Fatal编程技术网

Ios 使用base64字符串在flask中上载/显示iPhone HEIC图像会产生损坏的图像

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

我正在使用文件选择器向用户询问图像文件(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图像与众不同