腾讯cos上传文件一直提示403
按照https://github.com/tencentyun/wecos-ugc-upload-demo上面的操作来的
鉴权服务器应该是没有问题的,我用web试过可以成功上传文件
// upload.js
var REGION = ‘ap-shanghai’
var APPID = ‘xxx’
var BUCKET_NAME = ‘xx’
var cosUrl = “https://” + REGION + “.file.myqcloud.com/files/v2/” + APPID + “/” + BUCKET_NAME
//填写自己的鉴权服务器地址
var cosSignatureUrl = ‘xxx’
/**
* 上传方法
* filePath: 上传的文件路径
* fileName: 上传到cos后的文件名
*/
function upload(filePath, fileName) {
// 鉴权获取签名
wx.request({
url: cosSignatureUrl,
success: function (cosRes) {
// 签名
var signature = cosRes.data
// 头部带上签名,上传文件至COS
wx.uploadFile({
url: cosUrl + ‘/’ + fileName,
filePath: filePath,
header: {
‘Authorization’: signature
},
name: ‘filecontent’,
formData: {
op: ‘upload’
},
success: function (uploadRes) {
var data = uploadRes.data
console.log(‘uploadRes’, uploadRes)
},
fail: function (e) {
console.log(‘e’, e)
}
})
}
})
}
sendImageMessage: function () {
var that = this
wx.chooseImage({
count: 1, // 默认9
sizeType: [‘original’, ‘compressed’], // 可以指定是原图还是压缩图,默认二者都有
sourceType: [‘album’, ‘camera’], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var filePath = res.tempFilePaths[0];
// 获取文件名
var fileName = ‘chat.jpg’
// 文件上传cos
uploadFn(filePath, fileName)
},
fail: function (res) {
console.log(“fail…”)
},
complete: function (res) {
console.log(“完成…”)
}
})
}
