评论

共享云环境时代来了,解决fileID带来不兼容问题。

简单的将fileID适配到共享云环境下。

云开发收费了,不管你怎么选择,只要你还继续使用云开发,共享云环境的课题就不可避免。

我们知道,共享云环境下,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引用即可。



最后一次编辑于  2022-10-28  
点赞 15
收藏
评论

9 个评论

  • 伊恩
    伊恩
    2023-05-08

    太厉害了,直接复制就能使用

    <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>


    2023-05-08
    赞同 1
    回复 2
    • 跨商通
      跨商通
      2023-05-08
      那也没见你点赞哦。
      2023-05-08
      回复
    • momo
      momo
      2023-05-23回复跨商通
      我点赞了~
      2023-05-23
      回复
  • 阿耐🦴
    阿耐🦴
    2023-04-04

    爱你 哥

    2023-04-04
    赞同 1
    回复
  • 笨兔纸
    笨兔纸
    03-08

    厉害,解决了~

    03-08
    赞同
    回复
  • Along 🐾
    Along 🐾
    03-04

    666,感谢大佬的分享

    03-04
    赞同
    回复
  • 神灬渐入嘉静
    神灬渐入嘉静
    2023-10-12

    无敌 解决了我最大的问题 云存储的下载次数问题

    2023-10-12
    赞同
    回复 1
    • 跨商通
      跨商通
      2023-10-12
      记得点赞。。。
      2023-10-12
      回复
  • mortl
    mortl
    2023-09-10

    2023/9/10 报错了

    Failed to load image https://646a-djg-miniprogram... the server responded with a status of 403 (HTTP/1.1 403)

    2023-09-10
    赞同
    回复 1
    • 跨商通
      跨商通
      2023-09-11
      自己先用wx.cloud.getTempFileURL转换成http,然后
      1、对照fileID和url,看看是否符合上面的算法;
      2、url在浏览器上可以打开。
      2023-09-11
      回复
  • lql
    lql
    2023-08-14

    你说的是cloudos吗

    2023-08-14
    赞同
    回复
  • 阳明
    阳明
    2023-03-31

    跪谢您的源码,解决了问题,谢谢

    2023-03-31
    赞同
    回复
  • 王军
    王军
    2022-12-30

    非常感谢,用你的方法,问题解决了!

    2022-12-30
    赞同
    回复
登录 后发表内容