按照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)
}
})
}
})
}
//index.js
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("完成...")
}
})
}
提示没有权限,进腾讯云看一下有没有权限设置是不是设成私有读写了。
请问如果是region配置错了,那么正确的应该是怎样的呢?方便贴一下吗?
@Maosheng 这几天没上,刚看到,region应该是城市名首字母缩写,上海的话是sh
另外可以参照下这个
不使用 SDK 的例子已增加,项目里面 /server 目录下附带有签名例子
https://github.com/tencentyun/cos-wx-sdk-v5/blob/master/demo/pages/index/index.js#L17-L78
并不是,根据我自己查到的一些资料,可能是region设置错了,这里的region跟web里面不太一样,但是现在的问题是我已经不能修改小程序的域名设置了,这个月已经达到五次了
请问官方能不能有办法去修改域名设置,我这边急着上线,下个月改就来不及了
@June
有没有小程序或者腾讯云方面的技术大牛出来解答一下啊?