uploadio
Version:
Simple middleware for uploading files.
35 lines (30 loc) • 863 B
JavaScript
const { buildOptions, debugLog } = require("./utils");
const isEligibleRequest = require("./isEligibleRequest");
const processMultipart = require("./processMultipart");
const DEFAULT_OPTIONS = {
debug: false,
thumbnails: [],
saveToDisk: true,
saveToS3: {
secretAccessKey: "XXX",
accessKeyId: "",
region: "",
bucket: "",
dir: "",
},
};
/**
* Expose the file upload middleware
* @param {Object} options - Middleware options.
* @returns {Function} - express-fileupload middleware.
*/
module.exports = (options) => {
const uploadOptions = buildOptions(DEFAULT_OPTIONS, options);
return (req, res, next) => {
if (!isEligibleRequest(req, uploadOptions)) {
debugLog(uploadOptions, "Request is not eligible for file upload!");
return next();
}
processMultipart(uploadOptions, req, res, next);
};
};