我有一个非常具体的要求。我有一项服务需要上传照片的精确图片。可以忽略EXIF信息,但图像数据本身必须保持原样。此服务也必须跨平台工作。
到目前为止,我已经测试了PC,Mac,各种浏览器以及各种Android手机,它们都按预期工作。当照片从一个平台转移到另一个平台时,通过电子邮件,闪存驱动器,各种云服务(One Drive,Google Drive,Dropbox),完全没有问题。照片保持其确切的格式,相同的EXIF信息具有完全相同的大小,直到最后一个字节。
但是当我处理Apple产品和服务时会出现问题。首先,每当照片保存到iPhone时,iPhone似乎会在图像上添加一些额外的EXIF数据,使图像尺寸略大。但正如我上面所说,我的要求可以忽略EXIF信息,所以当它们上传到服务器端时我将它们删除了。然而,iPhone似乎比上传到后端更多。它似乎是在发送之前重新压缩图像。
当我在iPhone上使用Safari上传图像时,它会在文件大小发生巨大变化时到达服务器端。我已经多次和不同的图像测试了这个。在某些情况下,尺寸减小,并且在某些情况下尺寸增加。当我使用PC或Android手机上传它们时,这不会发生。应用程序本身就是一个网站,因此它是使用HTML和JavaScript编写的。
以下是结果示例:
图像1 - 原始图像大小:317,185字节
(不剥离EXIF数据)
使用PC或Android手机上传到服务器:317,185字节
使用iPhone上传到服务器: 368,698字节
(剥离EXIF数据)
使用PC或Android手机上传到服务器:296,412字节
使用iPhone上传到服务器: 356,680字节
图像2 - 原始图像大小:3,630字节
(不剥离EXIF数据)
使用PC或Android手机上传到服务器:3,630字节
使用iPhone上传到服务器: 2,752字节
(剥离EXIF数据)
使用PC或Android手机上传到服务器:2,795字节
使用iPhone上传到服务器: 2,144字节
我可以从上面得出的唯一结论是iPhone似乎在发送之前重新压缩图像。为什么会这样做,我该如何阻止它呢?
当然,如果它不是一张图片,那它就不会破坏它?例如.docx或.php?
答案 0 :(得分:1)
此问题已通过iOS更新9.0.3解决。显然,Apple自己知道这个bug并修复了它。