multer-cos

1.0.3 • Public • Published

Multer-COS

Multer Storage Engine 腾讯云COS版

COS文档使用 https://cloud.tencent.com/document/product/436/12264#slice-upload-file

Installation

npm install multer-cos

Usage

myMulter.js

let multer = require('multer');
let multerCOS = require('multer-cos');
 
const cosConfig={
  //id和key是必须
 
  //SecretId: AKIXXXXXXXXXXX,
  //SecretKey:XXXXXXXXXXXXXX,
  //Bucket:test-bucket-125XXXXXXXXX
  //Region=ap-shanghai
  // 可选参数
  FileParallelLimit: 3,    // 控制文件上传并发数
  ChunkParallelLimit: 3,   // 控制单个文件下分片上传并发数
  ChunkSize: 1024 * 1024,  // 控制分片大小,单位 B
  domain:'static.dorodoro-lab.com', //cos域名
  dir:'upload',                     //cos文件路径
  onProgress:function(progressData){//进度回调函数,回调是一个对象,包含进度信息
      //console.log(progressData);
  }
 
};
 
 
//定义仓库
const storage = multerCOS({
  cos:cosConfig,
  //Note:如果你传递的是一个函数,你负责创建文件夹,如果你传递的是一个字符串,multer会自动创建 如果什么都不传 系统自己会生成tmp目录
  destination: function (req, file, cb) {
      cb(null, dir);
  },
  //自己会生成个随机16字母的文件名和后缀
  filename:'auto'
});
 
module.exports=function(opt) {
    return  multer({
        storage: storage,
    }).array(opt);
};

app.js

let express= require('express');
let myMulter = require('./myMulter');
 
let app = express();
 
let server = require('http').Server(app);
 
 
//文件上传服务
app.post('/upload',  function (req, res, next)  {
 
    let responseData; //响应的数据
 
    var upload=myMulter('file',1);
 
    upload(req, res, function (err) {
 
           try {
                 if (err) throw err;
                 if(req.files.length==0) throw new  Error("不能上传空文件");
 
                 responseData={msg:"上传成功",code:2000};
                 responseData.url=req.files[0].url;
                 res.json(responseData);
 
 
           }
           catch (err) {
                 responseData={msg:"上传失败",code:4000};;
                 responseData.error=err.message;
                 res.status(500).json(responseData);
           }
     });
});
 
 

### dotenv 推荐用 dotenv 保护隐私信息 如appid key bucket 等

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i multer-cos

Weekly Downloads

78

Version

1.0.3

License

MIT

Unpacked Size

14.6 kB

Total Files

6

Last publish

Collaborators

  • lanbosm