我能够通过微信小程序上传图片,当我在微信小程序上用

previewImg: function (e) {
var index = e.currentTarget.dataset.index;
var imgArr = this.data.imgArr;

wx.previewImage({
  current: imgArr[index],
  urls: imgArr,
  success: function (res) { },
  fail: function (res) { },
  complete: function (res) { },
})

来预览图片,结果发现无法部分图片无法显示小图,但是在点击预览之后又能出现大图预览。我点击查询后返回的url时,发现这部分无法显示的图片的url在浏览器里显示的是{"error":"Document not found"}。

appid:DeW7ay1VW2FFJgHKISXhNwWv-gzGzoHsz

图片上传时候回调里确认成功完成上传了吗?

完成了,可以查询到上传完成后的url,比如
http://lc-dew7ay1v.cn-n1.lcfile.com/ab5c3f07591cff9b1aa6.1-Gym:V2
但是就是打不开,显示错误,然而,我在有时候上传又是成功的,比如

http://lc-dew7ay1v.cn-n1.lcfile.com/4b90f917152f5cc8dee1.1-Gym:V0

拿到 url 并不代表上传成功(文件上传是异步的,会先返回 url,只有回调成功调用才说明上传完成)。

哦~酱紫,谢谢您。那请问一下,有些文件能上传成功,有些不能上传成功,是什么原因呢?或者说如何才能保证每次都上传成功呢?

最大的可能是网络连通性问题。save 返回的是一个 Promise,需要处理错误(上传未成功)的情形。

      file.save().then(function(file) {
        // 上传成功时调用这个函数 
        console.log(file.url());
      }, function(error) {
        // 上传出现异常时调用这个函数,需要处理异常,比如打印日志、重试等
        console.error(error);
      });