jQuery File Upload Middleware
Features
- File upload handling
- File size validation
- File type validation
- Made for Express 4.x
Requirements
- Node.JS >= 0.10
- Express >= 4
Install
npm install jfum --save
Usage
var JFUM = require('jfum');
var jfum = new JFUM({
minFileSize: 204800, // 200 kB
maxFileSize: 5242880, // 5 mB
acceptFileTypes: /\.(gif|jpe?g|png)$/i // gif, jpg, jpeg, png
});
OPTIONS
jQuery File Upload makes an OPTIONS request to the server before starting the uppload to make sure that it can upload to the given server.
app.options('/upload', jfum.optionsHandler.bind(jfum));
POST
app.post('/upload', jfum.postHandler.bind(jfum), function(req, res) {
// Check if upload failed or was aborted
if (req.jfum.error) {
// req.jfum.error
} else {
// Here are the uploaded files
for (var i = 0; i < req.jfum.files.length; i++) {
var file = req.jfum.files[i];
// Check if file has errors
if (file.errors.length > 0) {
for (var j = 0; i < file.errors.length; i++) {
// file.errors[j].code
// file.errors[j].message
}
} else {
// file.field - form field name
// file.path - full path to file on disk
// file.name - original file name
// file.size - file size on disk
// file.mime - file mime type
}
}
}
});
Error Codes
The req.jfum.files[]
object can have the following error codes:
JFUM-001
- File type not allowedJFUM-002
- File size too bigJFUM-003
- File size too small