评论

小程序上传图片到腾讯云对象存储COS的简单代码

小程序wx.uploadFile到KOA后台,转存到腾讯云COS对象存储空间。


const fs = require('fs')

const COS = require('cos-nodejs-sdk-v5')

const cos = new COS({

    SecretId: 'SecretId',

    SecretKey: 'SecretKey',

})


module.exports = async (ctx) => {


    const image = ctx.request.files.image

    //这里获得小程序wx.uploadFile上传的文件,文件标识名为image

    if(!image) return

    let ext = image.type.split('/')[1]

    let path = image.path

    let key = `image-${Date.now()}.${ext}`;//保存在cos的文件名

    let TaskId;


    function  p() {

        return new Promise((resolve, reject) => {


            cos.putObject({

                Bucket: 'Bucket-1251490133', /* 必须 */

                Region: 'cn-north',

                Key: key, /* 必须 */

                Body: fs.createReadStream(path),

                ContentLength: fs.statSync(path).size

            }, function (err, data) {

                console.log(err || data);

                if (err) {

                    reject();

                } else {

                    resolve("url/" + key);

                }

                fs.unlinkSync(path);

            });

        });

    }


    try{

        ctx.body = await p()

    }catch (err){

        console.log(err)

    }


}

最后一次编辑于  09-17  (未经腾讯允许,不得转载)
点赞 1
收藏
评论

1 个评论

  • bibolibo
    bibolibo
    09-25

    留眼,应该会用上...

    09-25
    赞同
    回复