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