最近在做微信小程序【皮皮虎去水印】的时候,发现在下载某些图片的时候,会出现下载失败的情况,报错saveImageToPhotosAlbum:fail invalid file type。
下载失败的图片链接:http://sns-img-qn.xhscdn.com/01023g016ew1x6bwh860115f780dbfmgz1?imageView2/2/w/1080/format/webp
原因分析: 报错的意思是图片格式不支持,从图片链接的后缀上看不出是.jpg等图片格式,链接里面包含webp,但是并非.webp作为后缀,所以该链接图片的格式从表面上是看不出来的。
解决办法:
let url = 'http://sns-img-qn.xhscdn.com/01023g016ew1x6bwh860115f780dbfmgz1?imageView2/2/w/1080/format/webp';
url = `${url}${new Date().getTime()}.jpg`;
在使用APIuni.downloadFile({url:url})
下载的时候,url后面直接加上.jpg的后缀,直接当成jpg格式的图片来处理,这样下载就没问题了。