1.0.2 • Published 4 years ago
multer-qiniu-cloud-storage v1.0.2
multer-qiniu-cloud-storage
multer-qiniu-cloud-storage is a multer custom store engine for Qiniu Cloud Storage service. multer-qiniu-cloud-storage 用于自定义七牛云对象存储的 multer storage 配置。
Installation
npm i multer-qiniu-cloud-storage -S
or
yarn add multer-qiniu-cloud-storage
Usage
In Nest
import qiniuStorage from 'multer-qiniu-cloud-storage';
@UseInterceptors(
    FileInterceptor('file', {
      storage: new qiniuStorage({
        destination: function (req, file, cb) {
          cb(null, '');
        },// optional
        filename: function (req, file, cb) {
          const uniqueSuffix =
            Date.now() + '-' + Math.round(Math.random() * 1e9);
          cb(null, file.fieldname + '-' + uniqueSuffix);
        },// optional
        ACCESS_KEY: '<Your ACCESS_KEY>',
        SECRET_KEY: '<You SECRET_KEY>',
        bucket: '<You bucket>',
      }),
    }),
  )
  uploadFile(@UploadedFile() file) {
    console.log(file)
  }In Express
import * as multer from 'multer';
import * as express from 'express';
import qiniuStorage from 'multer-qiniu-cloud-storage';
const app = express();
const uploadHandler = multer({
  storage: new qiniuStorage({
    destination: function (req, file, cb) {
      cb(null, '');
    },// optional
    filename: function (req, file, cb) {
      const uniqueSuffix =
        Date.now() + '-' + Math.round(Math.random() * 1e9);
      cb(null, file.fieldname + '-' + uniqueSuffix);
    },// optional
    ACCESS_KEY: '<Your ACCESS_KEY>',
    SECRET_KEY: '<You SECRET_KEY>',
    bucket: '<You bucket>',
  }),
});
app.post('/upload', uploadHandler.any(), (req, res) => {
    console.log(req.files);
    res.json(req.files);
});MulterQiniuCloudStorageOptions
| Key | Description | required | 
|---|---|---|
| ACCESS_KEY | qiniu Cloud ACCESS_KEY 七牛云ACCESS_KEY | Yes | 
| SECRET_KEY | qiniu Cloud SECRET_KEY 七牛云SECRET_KEY | Yes | 
| bucket | qiniu Cloud bucket name 七牛云存储空间名 | Yes | 
| getUploadToken | custom token 获取自定义凭证 | No | 
| destination | The pseudo-folder to which the file has been saved 保存文件的文件夹 | No | 
| filename | The name of the file on Qiniu Cloud Storage 保存时文件名 | No | 
| config | Config options for Qiniu Cloud Storage 七牛云上传用的config对象 | No | 
| expires | token expire time (default 1 hour)凭证的有效时间(默认有效期为1个小时) | No |