评论

小程序上传图片到腾讯云对象存储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)

    }


}





最后一次编辑于  10-20  
点赞 1
收藏
评论

2 个评论

  • 守夜人·郑
    守夜人·郑
    07-24

    想问下这个 fs 怎么安装?

    07-24
    赞同
    回复
  • bibolibo
    bibolibo
    2019-09-25

    留眼,应该会用上...

    2019-09-25
    赞同
    回复
登录 后发表内容