腾讯cos上传文件一直提示403
发布于 6 年前 作者 weihao 19556 次浏览 来自 问答

按照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(“完成…”)

        }

    })

}

5 回复

请问如果是region配置错了,那么正确的应该是怎样的呢?方便贴一下吗?

并不是,根据我自己查到的一些资料,可能是region设置错了,这里的region跟web里面不太一样,但是现在的问题是我已经不能修改小程序的域名设置了,这个月已经达到五次了

请问官方能不能有办法去修改域名设置,我这边急着上线,下个月改就来不及了

@June

提示没有权限,进腾讯云看一下有没有权限设置是不是设成私有读写了。

@Maosheng 这几天没上,刚看到,region应该是城市名首字母缩写,上海的话是sh

另外可以参照下这个

不使用 SDK 的例子已增加,项目里面 /server 目录下附带有签名例子

https://github.com/tencentyun/cos-wx-sdk-v5/blob/master/demo/pages/index/index.js#L17-L78

有没有小程序或者腾讯云方面的技术大牛出来解答一下啊?

回到顶部