1.0.2 • Published 10 months ago

express-easy-fileuploader v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

Express Easy File Uploader

the hardest part about express is handling file uploads. there are a lot of packages for this purpose but all of them add extra layer of difficulty. our package express-easy-fileupload uses the old package express-fileupload and put a very powerful middleware to convert the manual code that the old library instruct you to write to a small function attached to the request object

Features

  1. Small function attached for each file separately (more flexibility)
  2. Handles both single and multiple files
  3. Can generate file name for the files if you want (optional)
  4. Check file existence in desk
  5. Can create the path of folder you pass to save the file if not exists (optional)

Install

npm i express-easy-fileupload

Usage

First of all you need to import the package and use add as middleware in your express app.

const fileEasyUpload = require("express-easy-fileuploader")
var app = express();
app.use(  
   fileEasyUpload({  
      app,  
  fileUploadOptions:{  
      limits: { fileSize: 500 * 1024 * 1024 },  
  }  
   })  
);

the middleware receives object containing the following:

  • app: the express application instance
  • fileUploadOptions: the old express-fileupload options (you can get it from this link)

Second you save the files in your express routes' handlers

you save the file by calling the method save on the file name in the request object. save receives 2 parameters

  • directoryPath
  • fileName : optional. the package can generate name for you (better not use it)

       app.post("/api/test",async function(req,res){  
           var path1 = await req.photo.save(directoryPath)  
           var path2 = await req.cv.save(directoryPath)  
    
           var pathes = []  
           for(var i=0;i<req.docs.length;i++){  
              pathes.push(await req.docs[i].save(directoryPath))  
           }  
           console.log("photo is saved to",path1)  
           console.log("cv is saved to",path2)  
           console.log("docs are saved to",pathes)  
          // the rest of your logic 
        });

    where photo and cv are single files and docs is a multiple file in HTML single files look like the following

    <input type='file' name='cv'>
    <input type='file' name='photo'>

    and multiple files look like the following

    <input type='file' multiple name='docs'>
1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago