收藏
回答

腾讯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)

                }

            })

        }

    })

}


//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 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-15

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

    2018-01-15
    有用
    回复
  • Maosheng
    Maosheng
    2018-01-23

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

    2018-01-23
    有用 1
    回复
  • 崔涛
    崔涛
    2018-01-25

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

    另外可以参照下这个

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

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

    2018-01-25
    有用
    回复
  • 崔涛
    崔涛
    2018-01-16

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

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

    @June

    2018-01-16
    有用
    回复
  • 崔涛
    崔涛
    2018-01-15

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

    2018-01-15
    有用
    回复
登录 后发表内容