收藏
回答

wx.previewMedia开发者工具能预览视频,真机无法预览一直加载,为何?

图片和视频都有防盗链已经将servicewechat.com加入白名单,微信开发者工具能够正常预览视频和图片,手机能预览图片,但是无法预览视频一直加载,最后失败。

previewMedia能够在真机上成功预览无防盗链的视频

单独将有防盗链的视频链接放入video标签也能够正常播放

图片和视频都是上传到七牛云的

为什么就是用previewMedia在真机上无法预览有防盗链的视频

 wx.previewImage({
   urls: [item.url],
   referrerPolicy: 'origin'
})


已经问过七牛云那边,真机调试时带过去的referer是空的,官方可以解决一下这个问题吗

最后一次编辑于  03-11
回答关注问题邀请回答
收藏

5 个回答

  • 神经蛙
    神经蛙
    03-08
    // 打印错误日志看看 
    wx.previewImage({
       urls: [item.url],
       referrerPolicy: 'origin',
       fail: console.log
    })
    
    03-08
    有用 2
    回复 1
    • 一橙子🍊
      一橙子🍊
      发表于移动端
      03-08
      打印过了,一点击视频,就会走sucess和complete方法,返回的只是previewMedia: ok 然后点击播放就一直loading 最终有个播放失败弹窗,也不会走fail方法🤧
      03-08
      回复
  • Chris
    Chris
    11-22

    previewMedia只能在ide上预览,在ios的真机上无法预览,无防盗链的视频也不行

    11-22
    有用
    回复 2
    • Chris
      Chris
      11-22
      目前看下来可能是因为Content-Disposition附件头导致ios下无法播放,不带头的视频可以正常播放
      11-22
      回复
    • Chris
      Chris
      11-22
      如果服务端不能去改动的话,还有一个前端方案,先通过wx.downloadFile 获取本地路径 然后再通过previewMedia去预览
      11-22
      回复
  • 一橙子🍊
    一橙子🍊
    03-11

    真的好奇怪啊。这个要说是previewMedia的问题不带防盗链的在真机上也能正常观看。是防盗链的问题的话,用video标签设置了referrerPolicy在真机上也能正常观看。只有当previewMedia+防盗链+真机 会出问题,有没有大神救救是在不知道为啥😭

    03-11
    有用
    回复
  • showms
    showms
    03-08

    把微信的域名加进防盗链白名单试试呢

    https://servicewechat.com

    03-08
    有用
    回复 1
    • 一橙子🍊
      一橙子🍊
      发表于移动端
      03-08
      已经加过了呢,在开发者工具上已经能成功播放视频了,就是真机上不行😭
      03-08
      回复
  • 启年
    启年
    03-08

    以阿里云为例,需要在 cdn 和 oss 上面都加防盗链白名单

    03-08
    有用
    回复 1
    • 一橙子🍊
      一橙子🍊
      发表于移动端
      03-08
      加入白名单这个应该是成功了吧,不然不会在开发者工具上能成功预览了吧🥺
      03-08
      回复
登录 后发表内容