收藏
回答

wx.downloadImage接口当图片过期后,会一直下载导致页面卡死,怎么解决?

wx.downloadImage接口当图片过期后,在Android手机上,会一直在那里下载,页面卡死在下载状态,显示下载进度的那个圈圈一直在转,之后点击浏览器后退后才会停止

代码:

serverId过期,页面会卡死(调试发现是这个方法一直在loading,不会停止)

wx.downloadImage({
  serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得
  isShowProgressTips: 0, // 默认为1,显示进度提示
  success: ({localId}) => handleLocalID(localId, res, rej),
  fail: ({errMsg}) => rej(errMsg)
})


回答关注问题邀请回答
收藏

2 个回答

  • Zero
    Zero
    2020-10-22

    那就设置图片过期时间长一点。

    2020-10-22
    有用
    回复 5
    • 初一
      初一
      发表于移动端
      2020-10-22
      这个微信规定的,只有三天有效期
      2020-10-22
      回复
    • Zero
      Zero
      2020-10-22回复初一
      图片不是存在自己服务器上?
      2020-10-22
      回复
    • 初一
      初一
      2020-10-22回复Zero
      使用微信上传的图片,是存在微信的临时服务器上的,有效期是三天,这期间服务器可以使用微信提供的api去服务器上取出图片存在本地,前端根据判断服务器返回的地址(带http直接显示),如果返回的是微信存储的临时id,则前端向微信请求图片下载下来,而后转成base64进行显示(转base64 wx jssdk做了),现在的问题是:服务器因为某些原因,导致到微信拉取图片失败,过了三天(微信临时服务器的资源过期),前端在android设备上运行,下载过期的图片的时候,会一直卡在loading卡死,而ios不会,这期间我们是无法知道微信的图片是否过期,只能通过 wx.downloadimage 的fail方法判定,但是一直卡在loading了,没进行回调。
      2020-10-22
      回复
    • Zero
      Zero
      2020-10-22回复初一
      不会用微信服务器上的图片路径,都是上传上去了,服务器马上去下载,下载完成返回服务器上的图片地址,不会等那么久去下载。
      2020-10-22
      回复
    • 初一
      初一
      发表于移动端
      2020-10-22回复Zero
      就是服务器出问题了,导致下载失败了,并且没有重试,导致出现的问题,目前推到前端了(服务器数据改不了),不知道怎么搞。。。
      2020-10-22
      回复
  • 初一
    初一
    2020-10-22

    求求求求!!!!

    2020-10-22
    有用
    回复 1
登录 后发表内容
问题标签