云开发收费了,不管你怎么选择,只要你还继续使用云开发,共享云环境的课题就不可避免。
我们知道,共享云环境下,fileID是无法使用的,怎么兼容,一个最简的方法如下:
<wxs module="wxs">
module.exports = {
getUrl: function (link) {
if (link) { } else return ''
if (link.substring(0, 5) == 'cloud') { } else return link
var arr = link.split('/')
arr[0] = 'https:'
arr[2] = arr[2].split('.')[1] + '.tcb.qcloud.la'
return arr.join('/')
}
}
</wxs>
<image src="{{wxs.getUrl(link)}}"></image>
可见:只要将原项目所有的fileID换成wxs.getUrl(link)
其他代码可以一分不动,也不需要用到wx.cloud.getTempFileURL
可以将wxs.getUrl放在lib.wxs里,任何wxml引用即可。
太厉害了,直接复制就能使用
<wxs module="wxs">
module.exports = {
getUrl: function (link) {
if (link) { } else return ''
if (link.substring(0, 5) == 'cloud') { } else return link
var arr = link.split('/')
arr[0] = 'https:'
arr[2] = arr[2].split('.')[1] + '.tcb.qcloud.la'
return arr.join('/')
}
}
</wxs>
<view wx:for="{{src}}" class="namebox">
<image wx:if="{{item}}" class="picture" src="{{wxs.getUrl(item)}}" mode="widthFix">
</image>
</view>
爱你 哥
厉害,解决了~
666,感谢大佬的分享
无敌 解决了我最大的问题 云存储的下载次数问题
2023/9/10 报错了
Failed to load image https://646a-djg-miniprogram... the server responded with a status of 403 (HTTP/1.1 403)
1、对照fileID和url,看看是否符合上面的算法;
2、url在浏览器上可以打开。
你说的是cloudos吗
跪谢您的源码,解决了问题,谢谢
非常感谢,用你的方法,问题解决了!