Javascript 如何阻止iPhone在上传到后端时重新压缩图像?

Javascript 如何阻止iPhone在上传到后端时重新压缩图像?,javascript,ios,iphone,image,file-upload,Javascript,Ios,Iphone,Image,File Upload,我有一个非常具体的要求。我有一个服务,需要上传照片在其确切的ImageBlob。可以忽略EXIF信息,但图像数据本身必须保持原样。这项服务也必须跨平台工作 到目前为止,我已经测试了PC、Mac和各种浏览器,以及各种Android手机,它们都按预期工作。当照片通过电子邮件、闪存驱动器、各种云服务(一个驱动器、谷歌驱动器、Dropbox)从一个平台传输到另一个平台时,一点问题都没有。照片保持其精确的格式,相同的EXIF信息具有完全相同的大小,直到最后一个字节 但当我处理苹果的产品和服务时,问题就出现

我有一个非常具体的要求。我有一个服务,需要上传照片在其确切的ImageBlob。可以忽略EXIF信息,但图像数据本身必须保持原样。这项服务也必须跨平台工作

到目前为止,我已经测试了PC、Mac和各种浏览器,以及各种Android手机,它们都按预期工作。当照片通过电子邮件、闪存驱动器、各种云服务(一个驱动器、谷歌驱动器、Dropbox)从一个平台传输到另一个平台时,一点问题都没有。照片保持其精确的格式,相同的EXIF信息具有完全相同的大小,直到最后一个字节

但当我处理苹果的产品和服务时,问题就出现了。首先,无论何时将照片保存到iPhone中,iPhone似乎都会向图像中添加一些额外的EXIF数据,从而使图像的大小稍大一些。但正如我上面所说的,我的需求可以忽略EXIF信息,所以当它们被上传到服务器端时,我去掉了它们。然而,iPhone似乎比上传到后端的过程中做得更多。它似乎在发送图像之前对图像进行了重新压缩

当我使用Safari在iPhone中上传图像时,它到达服务器端时,文件大小发生了巨大变化。我已经用不同的图像测试了多次。在某些情况下,尺寸减小,在某些情况下,尺寸增大。当我使用PC或Android手机上传它们时,不会发生这种情况。应用程序本身是一个网站,因此它是使用HTML和JavaScript编写的

以下是结果示例:


图像1-原始图像大小:317185字节

(不剥离EXIF数据)

使用PC或Android手机上传到服务器:317185字节

使用iPhone上传到服务器:368698字节

(剥离EXIF数据)

使用PC或Android手机上传到服务器:296412字节

使用iPhone上传到服务器:356680字节


图像2-原始图像大小:3630字节

(不剥离EXIF数据)

使用PC或Android手机上传到服务器:3630字节

使用iPhone上传到服务器:2752字节

(剥离EXIF数据)

使用PC或Android手机上传到服务器:2795字节

使用iPhone上传到服务器:2144字节


我能从上面得出的唯一结论是,iPhone似乎在发送图像之前对图像进行了重新压缩。为什么会这样,我该如何阻止它


当然,如果它不是一个图像,它不会与它发生冲突?例如.docx或.php?

此问题已通过iOS更新9.0.3解决。显然,苹果自己也知道并修复了这个漏洞。

有人知道为什么吗?还是有其他人注意到了这一点?