Skip to content

chunkai1312/multer-sftp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multer-sftp

NPM version Build Status Coverage Status

SFTP storage engine for Multer

Install

$ npm install --save multer-sftp ssh2-sftp-client

Usage

var multer = require('multer')
var sftpStorage = require('multer-sftp')

var storage = sftpStorage({
  sftp: {
    host: '127.0.0.1',
    port: 22,
    username: 'username',
    password: 'password'
  },
  destination: function (req, file, cb) {
    cb(null, '/tmp/my-uploads')
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage })

API

var sftpStorage = require('multer-sftp')

sftpStorage(opts)

The module returns a function that can be invoked with options to create a Multer storage engine.

opts

{
  sftp: Object,
  destination: function (req, file, cb) { return cb(null, '/path/to/uploads') }
  filename: function (req, file, cb) { return cb(null, 'filename.ext') }
}
  • sftp: Required. sftp is a settings object for sftp client connection. Please see ssh2 documentation for details.
  • destination: Required. destination is used to determine within which folder the uploaded files should be stored. This can also be given as a string (e.g. '/tmp/uploads').
  • filename: Optional. filename is used to determine what the file should be named inside the folder. If no filename is given, each file will be given a random name that doesn't include any file extension.

License

MIT © Chun-Kai Wang