我现在是用wx.chooseImage + wx.uploadFile实现图片直传阿里云oss上。


你想反馈一个 Bug 还是 提一个需求?

应该是个兼容性问题, == 或者是wx.uploadFile的接口禁了请求阿里云oss资源


如果是 Bug:

* Bug 表现是什么?预期表现是什么?

小程序真机上能上传是可以的,能成功上传,但到小程序真机上上传失败,不管是安卓还是苹果


* 如何复现?

编辑器上成功,改传的字段都有:

安卓机上报you have no reight to access this object bacause of bucket acl;


苹果机上报:


* 提供一个最简复现 Demo

wx.chooseImage({

sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有

sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有

success: function (res) {

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片

that.setData({

files: that.data.files.concat(res.tempFilePaths[0])

});

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片

let tempFilePaths = res.tempFilePaths[0];

// 随机生成文件名称,保存文件后缀名

let fileName = that.randomString(10) + that.getSuffix(tempFilePaths);


wx.uploadFile({

url: that.data.ossConfig.host, //接口地址

filePath: tempFilePaths,

name: 'file',

formData: {

'name': tempFilePaths,

'key': that.data.ossConfig.dir + fileName,

'policy': that.data.ossConfig.policy,

'OSSAccessKeyId': that.data.ossConfig.accessid,

'success_action_status': '200',

'Signature': that.data.ossConfig.signature,

'Expires': that.data.ossConfig.expire,

'file': tempFilePaths,

},

success: function (res) {

// console.log(res, 'res0-----');

var data = res.data;

that.setData({

filesInfo: that.data.filesInfo.concat({ file_url: that.data.ossConfig.host + '/' + that.data.ossConfig.dir + fileName, file_name: fileName}),

})

console.log(res, 'success upload!-----');

},

fail: function (res) {

console.log(res, 'falis222-----');

}

})

}

})

如果是需求:


* 你希望有什么能力?


* 你需要这个能力的场景是 ?


展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 瓦卡卡

    20人对此回答表示赞同


    最后是成功了的,中间过程很曲折

    展开
    20
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 你庄哥

    18人对此回答表示赞同

    大兄弟问题解决了吗?

    展开
    18
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Daniel

    18人对此回答表示赞同

    大兄弟解决了吗我这边小程序真机上调试提示上传文件不存在在开发工具上也是正常

    展开
    18
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 闲云

    9人对此回答表示赞同

    兄弟你解决那个400的问题了吗

    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Leah

    6人对此回答表示赞同

    同400问题。官方说是个人服务器问题...

    展开
    6
    11回复
    发布于 6年前

    评论(11)

    收起评论

    • Taj 2018-11-16 16:47

      我已经换了COS嗨

      回复
    • 徐磊 2018-11-18 15:39

      我不是OSS,我是走自己的接口

      回复
    • 林立慧 2018-11-20 09:24

      那啥,我今天测试ip7上可以了,但是好像还有别的机型不行。代码一行没改,正式版突然就可以了。。

      回复
    • Amelia 2018-11-22 13:24

      我这ios和按android都存在这问题小程序不承认是自己的问题,说400就是服务器的事情我现在在找阿里云的客服来协商,真是蛋疼,逼得我都想要赚到腾讯的oss上去了

      回复
    • guten元 2018-11-24 09:54

      没用,只有一份log日志给你看看。

      回复
    • Caleb 2018-11-26 15:47

      nginx?我是直接用小程序传给阿里云,没有经过自己的后台,所以我根本就看不到错误请求在哪。那你nginx的400请求失败有错误信息么

      回复
    • 扑朔迷离 2018-11-28 17:23

      我这去看nginx日志是有400访问日志的。而且我这上传失败是有规律的。。就是第一次必定失败,然后后续的可以成功。。抓包请求debug也没用,一旦开本地代理抓包,就一直上传成功。我头都大了

      回复
    • Ela腹黑的程序猿 2018-11-30 21:42

      服务器不是我弄的,但是不是要去添加什么配置。。。

      回复
    • lele 2018-12-02 15:36

      不知道呀,谁都说不是自己的问题,贼蛋疼

      回复
    • Raimundo 2018-12-04 17:32

      我一问我们也是阿里云。什么情况。。。

      回复
    • 疯人院门开了 2018-12-06 11:06

      我反馈了官方也是这么说,我就纳闷了,上传阿里云服务,随机失败,也是人家阿里云的问题?我调取了阿里云的访问日志,根本就没有400的访问记录,这是逼着大家用腾讯云啊

      回复
    加载更多
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部