遇到了一个很有意思的问题
小程序下载商品图片,有客户反馈无法下载,或者下载部分
但是我排查发现,图片OSS地址看着也没什么问题,都是jpeg文件
但是深入后发现了问题了
bash
curl -I https://oss.leixiaoan.com/app/image/20251113/1763024914262R8sim.jpeg
这个图片的Content-Type不合理,正常应该是iamge/jpeg

而小程序要求服务端响应的 header 中指定合理的Content-Type字段,以保证客户端正确处理文件类型

这就导致文件下载的时候,下载的是.bin文件
那么问题是如何产生的呢
经过检查发现,android的OSS上传有问题,将所有的文件,包括图片的Content-Type都转换为了application/octet-stream,导致小程序下载时,认为该文件不是图片,进而下载的是二进制文件

如何解决,错误的图片已经产生了,且量很多,已经不可能批量修改了
那么就用阿里的图片处理,尽可能不压缩文件的同时转变Content-type,添加后缀
bash
curl -I "https://oss.leixiaoan.com/app/image/20251113/1763024914262R8sim.jpeg?x-oss-process=style/download-img"
问题处理完毕
