图片上传阿里云OSS问题,编辑器可以,但真机上都不行

发布于 7 年前作者 xiuying258301 次浏览最后编辑 7 年前来自 ask

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

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

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

如果是 Bug:

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

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

* 如何复现?

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

WXOPEN Club 内容图片

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

WXOPEN Club 内容图片

苹果机上报:

WXOPEN Club 内容图片

* 提供一个最简复现 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 回复
leihou
leihou1 楼6 年前
WXOPEN Club 内容图片

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

jingyi
jingyi2 楼6 年前

大兄弟问题解决了吗?

ping53
ping533 楼6 年前

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

yduan
yduan4 楼6 年前

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

qtian
qtian5 楼5 年前

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