设备信息:15 pro, ios 17.4.1
背景:最近在 Immich app 中下载 nas 中图片的时候,发现只要是 jpg 格式的图片在下载完后,server 端会出现两个看上去一样的图,比对后发现是图片的二进制数据大小不一致,导致 hash 不一样,从而被服务端判断为两张图片了。试了下 PNG 、HEIC 格式都没有这个问题。
排查:上传、下载了多组 JPG 图后发现,从手机下载的图总是会比原本上传的图要大,并且这个问题不止局限在 Immich ,例如我从浏览器打开下面这个 693 个字节大小的图片

做以下三种操作对应的表现:
- 直接保存到「文件」,保存下来的图就是 693 个 byte
- 直接保存到「相册」中,「相册」中图有 3kb
- 从「文件」中点击分享按钮,选择存储图像,「相册」中的图有 17kb (这个大小和通过 immich 保存下来的大小一致)
初步怀疑是「相册」这个 app 在系统层的图片写入有一些 jpg 图片的重编码逻辑,然后 immich 存图的逻辑与上面第 3 点一致,导致的这个问题
求助:
- 这个问题在各位手机上是否能够复现
- 如果是已有问题,有无 ios 客户端大佬从技术层面解释一下
因为问题起于 Immich ,本人非常喜欢的一个图片管理工具,也提了issue,奈何英语水平有限沟通效率比较低,希望在这能找到一些线索,进而能够让官方解决掉这个 bug
