express-uploadfiles

1.0.4 • Public • Published

Express-Uploadfiles

It is midleware to express. To upload files to a given directory. It uses streaming methods that allows you to download large files with a small amount of RAM.

npm npm NpmLicense GitHub last commit GitHub release

Install

    npm i express-uploadfiles --save

Use

connection library

    var Uploadfiles = require('express-uploadfiles');

use as a function in express

    var HTTP = require('http'),
        EXPRESS = require('express'),
        PATH = require('path'),
        UPLOADFILES = require('express-uploadfiles');
    
    var app = EXPRESS();
    
    const _settings = {
        path: PATH.join(__dirname, 'tmp'),
        usekeyasname: true
    };
    var uploadfiles = UPLOADFILES(_settings);
    app.post('*', uploadfiles.upload);
    
    HTTP.createServer(app).listen(80, '0.0.0.0');

use as a function in http

    var HTTP = require('http'),
        UPLOADFILES = require('express-uploadfiles');
    
    var uploadfiles = UPLOADFILES();
    
    HTTP.createServer(uploadfiles.upload).listen(80, '0.0.0.0');

use as promise in custom function

    var HTTP = require('http'),
        EXPRESS = require('express'),
        UPLOADFILES = require('express-uploadfiles');
    
    var app = EXPRESS();
    
    var uploadfiles = UPLOADFILES();
    app.post('*', function(req, res){
        uploadfiles.promise(req, res).then(function(resolve){
            res.writeHead(200, {'Content-Type': 'application/json'});
            res.end(JSON.stringify(resolve));
        }).catch(function(error){
            res.writeHead(500, {'Content-Type': 'text/plain'});
            res.end(error.message);
        });
    });
    
    HTTP.createServer(app).listen(80, '0.0.0.0');

API

settings object:

{
    path: './tmp/',
    usekeyasname: false
}
  • path - file upload directory
  • usekeyasname - when saving, use the form data keys as file names

example shows default settings

return object json:

    {
        "status": "upload",
        "error": null,
        "upload": {
            "test2": "upload",
            "test": "upload"
        }
    }
  • status - the result of downloading files, there are 3 types
    • error - no files uploaded
    • witherrors - not all files uploaded
    • upload - all files uploaded without errors
  • error - error text
  • upload - Object key (name post data) - value (download result: upload - if uploaded, or error text)

if you use promise and no file is uploaded, the reject of string type will be returned

LICENSE

MIT

Package Sidebar

Install

npm i express-uploadfiles

Weekly Downloads

2

Version

1.0.4

License

MIT

Unpacked Size

9.39 kB

Total Files

5

Last publish

Collaborators

  • sergdudko