Uttori Plugin - Multer Upload
A plugin to add file uploading using Multer.
Install
npm install --save uttori-plugin-upload-multer
Config
// Registration Events events: bindRoutes: 'bind-routes' // Directory files will be uploaded to. directory: 'uploads' // Server route to POST uploads to. route: '/upload'
API Reference
MulterUpload
Uttori Multer Upload
Kind: global class
String
MulterUpload.configKey ⇒ The configuration key for plugin to look for in the provided configuration.
Kind: static property of MulterUpload
Returns: String
- The configuration key.
Example (MulterUpload.configKey)
const config = ...MulterUpload ...contextconfigMulterUploadconfigKey ;
Object
MulterUpload.defaultConfig() ⇒ The default configuration.
Kind: static method of MulterUpload
Returns: Object
- The configuration.
Example (MulterUpload.defaultConfig())
const config = ...MulterUpload ...contextconfigMulterUploadconfigKey ;
MulterUpload.validateConfig(config)
Validates the provided configuration for required entries.
Kind: static method of MulterUpload
Param | Type | Description |
---|---|---|
config | Object |
A configuration object. |
config[MulterUpload.configKey | Object |
A configuration object specifically for this plugin. |
Example (MulterUpload.validateConfig(config, _context))
MulterUpload;
MulterUpload.register(context)
Register the plugin with a provided set of events on a provided Hook system.
Kind: static method of MulterUpload
Param | Type | Description |
---|---|---|
context | Object |
A Uttori-like context. |
context.hooks | Object |
An event system / hook system to use. |
context.hooks.on | function |
An event registration function. |
context.config | Object |
A provided configuration to use. |
context.config.events | Object |
An object whose keys correspong to methods, and contents are events to listen for. |
Example (MulterUpload.register(context))
const context = hooks: { ... } config: MulterUploadconfigKey: ... events: bindRoutes: 'bind-routes' ;MulterUpload;
MulterUpload.bindRoutes(server, context)
Add the upload route to the server object.
Kind: static method of MulterUpload
Param | Type | Description |
---|---|---|
server | Object |
An Express server instance. |
server.post | function |
Function to register route. |
server.use | function |
Function to register middleware. |
context | Object |
A Uttori-like context. |
context.config | Object |
A provided configuration to use. |
context.config.directory | String |
The file path to save files into. |
context.config.route | String |
The URL to POST files to. |
Example (MulterUpload.bindRoutes(server, context))
const context = config: MulterUploadconfigKey: directory: 'uploads' route: '/upload' ;MulterUpload;
MulterUpload.upload(request, response, next)
The Express route method to process the upload request and provide a response.
Kind: static method of MulterUpload
Param | Type | Description |
---|---|---|
request | Object |
An Express request object. |
request.file | Object |
The uploaded file. |
request.file.filename | String |
The uploaded file's filename. |
response | Object |
An Express response object. |
next | Object |
An Express next function. |
Example (MulterUpload.upload(request, response, _next))
server;
Tests
To run the test suite, first install the dependencies, then run npm test
:
npm installnpm testDEBUG=Uttori* npm test