Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

multer-ali-oss

Streaming multer storage engine for Aliyun OSS.

Installation

npm install --save multer-ali-oss

Usage

var multer  = require('multer');
var aliOssStorage = require('multer-ali-oss');

var upload = multer( {
  storage: aliOssStorage({
    config: {
      region: '<region>',
      accessKeyId: '<accessKeyId>',
      accessKeySecret: '<accessKeySecret>',
      bucket: '<bucket>',
    },
    filename: function (req, file, cb) {
      cb(null, file.fieldname + '-' + Date.now())
    }
  })
}).single('upload');

router.post('/', function(req, res, next) {
  upload(req, res, function (err) {
    if (err) {
      // handle error
    }

    var result = {
      "uploaded": 1,
      'name': req.file.name,
      "url": req.file.url
    };

    res.render('result', {});
  });
});

File information

Each file contains the following information:

Key Description Note
fieldname Field name specified in the form
originalname Name of the file on the user's computer
encoding Encoding type of the file
mimetype Mime type of the file
size Size of the file in bytes
name Name of the file AliOssStorage
url Url of the file on OSS AliOssStorage

Notice

As the ali-oss, one of the dependencies, using the ES6 features. The app depends on this package should start with --harmony.

AliOssStorage

You need to specify the region, accessKeyId, accessKeySecret, bucket.

var aliOssStorage = require('multer-ali-oss');
var storage = aliOssStorage({
  config: {
    region: '<region>',
    accessKeyId: '<accessKeyId>',
    accessKeySecret: '<accessKeySecret>',
    bucket: '<bucket>',
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage })

There is one option available, filename. It is a function that determine where the file should be stored.

filename is used to determine what the file should be named. If no filename is given, each file will be given a random name that doesn't include any file extension.

About

Streaming multer storage engine for Aliyun OSS

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages