收藏
回答

wx.uploadFile() 上传图片至阿里云oss

上图为上传至阿里云oss代码


下图为编辑器返回值,但是没有返回url地址  状态码又为200




1. 打了个体检版 进行真机调试 根本就不发送上传文件的请求,失败和成功的回调都不执行。

2. 后台的域名都已经配置过了  都是ok的    也尝试过打开调试模式测试了  也是不执行上传图片的成功和失败的回调       complete回调有尝试写过  也不之下

最后一次编辑于  2018-04-03  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

8 个回答

  • that is a boy 🐟
    that is a boy 🐟
    2018-06-11

    上传阿里云oss报错400  没有认识提示信息,只有这个code,请问这个问题是什么问题,可有解决办法,随机失败!

    2018-06-11
    赞同 1
    回复 1
    • 王国良
      王国良
      03-15

      我也遇到同样的问题,我还在阿里云上提问了。您的解决了没?

      03-15
      回复
  • 请叫我静锅锅
    请叫我静锅锅
    04-28

    各位大佬, 这个解决了吗

    04-28
    赞同
    回复
  • 郭玉峰
    郭玉峰
    2018-05-10

    今天上传阿里云失败 提示


    添加域名也添加不了

    提示违规


    2018-05-10
    赞同
    回复 5
    • 小邱
      小邱
      2018-05-28

      您好,请问您有没有出现过上传阿里云图片第一次的时候返回400,message是uploadFile:ok,然后用同样的数据再次上传就成功了?

      2018-05-28
      1
      回复
    • 郭玉峰
      郭玉峰
      2018-05-28回复小邱

      没遇到过 你看看阿里云返回的报错信息是什么

      2018-05-28
      回复
    • 小邱
      小邱
      2018-05-28回复郭玉峰

      没有具体的错误信息,只有一个uploadFile:ok和一个statusCode=400,而且直接走的是wx.uploadFile失败这个回调函数。我试了下,正常oss返回的400信息走的是wx.uploadFile成功的回调函数。。。好奇怪啊,时不时来个上传失败,用户体验极差。。。

      2018-05-28
      回复
    • 郭玉峰
      郭玉峰
      2018-05-28回复小邱

      从来没遇到过,代码贴出来看看啊  比如 签名什么的

      2018-05-28
      回复
    • Arya
      Arya
      2018-06-01回复小邱

      我现在就遇到了。 一样的问题。 第一次是400,上传失败。但是两三分钟内再来一次就成功了。 一段时间后又失败了。 https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000828a02548103e33d6f768951800&highline= %E5%9B%BE%E7%89%87%20%E4%B8%8A%E4%BC%A0&token=1206458514 朋友你解决了吗

      2018-06-01
      回复
  • 郭玉峰
    郭玉峰
    2018-05-10

    你的写法有问题,我一直在上传到阿里云啊


    var uploadTask = wx.uploadFile({
        url: app.globalData.ossPrefix,
        filePath: filepath,
        name: 'file',
        formData: {
          "OSSAccessKeyId": osssignature.OSSAccessKeyId,
          "policy": osssignature.policy,
          "Signature": osssignature.signature,
          "key": osssignature.key + "/" + filename,
          "success_action_status": '200'
        },
        success: function (res) {
          console.log(res.data);
          callback(true);
        }, fail: function (res) {
          callback(false);
        }
      })

    key 直接就是文件路径和名称

    url  就是 ossPrefix + osssignature.key + "/" + filename 不用阿里云返回就可以

    2018-05-10
    赞同
    回复 5
    • &|!🤗
      &|!🤗
      2018-08-10

      你好,请问这个osssignature 是从哪里获取的,还有就是ossPrefix是固定自己主机的地址吗

      2018-08-10
      回复
    • 郭玉峰
      郭玉峰
      2018-08-13

      app.globalData.ossPrefix  是阿里云上传地址

      前面获取方式 请参考

      https://help.aliyun.com/document_detail/31926.html?spm=a2c4g.11186623.2.8.MXqkcO#concept_en4_sjy_5db

      2018-08-13
      回复
    • Frank
      Frank
      2018-12-13回复&|!🤗

      模拟器正常  真机老是报400的错 提示must contain Signature  打印值是有的 有遇到过这种情况吗。

      2018-12-13
      回复
    • Frank
      Frank
      2018-12-13回复郭玉峰

      模拟器正常  真机老是报400的错 提示must contain Signature  打印值是有的 有遇到过这种情况吗。

      2018-12-13
      回复
    • 郭玉峰
      郭玉峰
      2018-12-13

      没遇到过 你用开发工具的真机调试看看吧

      2018-12-13
      回复
  • 谁谁谁
    谁谁谁
    2018-05-03

    您好 这个单词确实写错了,我更改过后 还是和上图一样(data一直为空,没有返回图片路径) 也是不行,请问您有做过小程序的阿里云上OSS传图片吗?

    2018-05-03
    赞同
    回复
  • xyLiu
    xyLiu
    2018-05-03

    就不说别的,你看你失败的回调写成什么了,是fail,不是fial

    2018-05-03
    赞同
    回复
  • 谁谁谁
    谁谁谁
    2018-04-08

    没有 一直等腾讯的大佬回复  没人回复

    2018-04-08
    赞同
    回复
  • 随广😊
    随广😊
    2018-04-08

    解决了吗?

    2018-04-08
    赞同
    回复