前提条件:图片服务器是阿里云OSS
问题原因: 安卓端上传了一张webp 格式图片,格式是webp(安卓特有的格式) , 安卓手机/ chrome 等访问都没问题,
但是 IOS,Safari 确访问不了。
解决办法:
1. 在阿里云上传图片完成后,图片URL拼接参数 ?x-oss-process=image/info
类似:http://图片路径?x-oss-process=image/info 用于获取图片大小格式等信息
{
"FileSize": {
"value": "18610"
},
"Format": {
"value": "webp"
},
"ImageHeight": {
"value": "593"
},
"ImageWidth": {
"value": "600"
}
}
Format 返回了图片格式为 webp ,
代码中可在处理完上传图片后加上如下代码:
Map map = restTemplate.getForObject(path + "?x-oss-process=image/info", Map.class);
判断返回的图片格式是webp 时, 图片URL拼接上字符串 ?x-oss-process=image/format,jpg
就可以访问了。