開發商城相關的程序時,經常會有分享好友需求,分享圖片要求多元素組合圖片。使用七牛雲存儲水印處理圖片後,在蘋果端圖片無法正常保存到本地
水印處理後的地址鏈接如下:
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格式時也要注意把一些特殊符號進行轉變,不處理導致水印圖片無法正常加載顯示。
① 將鏈接中的 “ + ” 替換成 “ - ” 。
② 將鏈接中的 “ / ” 替換成 “ _ ” 。