开发商城相关的程序时,经常会有分享好友需求,分享图片要求多元素组合图片。使用七牛云存储水印处理图片后,在苹果端图片无法正常保存到本地
水印处理后的地址链接如下:
http://xxx/xxx.png
?imageView2/2/w/586/h/800/q/75|watermark/3
/image/aHR0cDovL2JpY2FNoZWMTYwL3EvNzU=/dissolve/100/gravity/SouthEast/dx/20/dy/34
/image/aHR0cDovL2JpY2FveXVhbi5zdW5na2Gl1cy85/dissolve/100/gravity/North/dx/0/dy/0
|imageslim
1、其中特别注意链接中的特殊符号 “ | ”
查阅相关资料得到结果:是格式的原因
七牛或者Ucloud返回的链接中包含有特殊符号:管道符“ | ”,这导致在转化成url的时候出错。需要对特殊符号转码一下:
2、将链接中的 “ | ” 替换成 “ %7C ” 。前端只需要让SDWebImage支持webp即可。
信息补充:
3、在处理七牛水印地址转成Base64格式时也要注意把一些特殊符号进行转变,不处理导致水印图片无法正常加载显示。
① 将链接中的 “ + ” 替换成 “ - ” 。
② 将链接中的 “ / ” 替换成 “ _ ” 。