New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

express-form-post

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-form-post

Simple, reliable express http file and post body handler.

  • 1.0.12
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6
decreased by-77.78%
Maintainers
1
Weekly downloads
 
Created
Source

Express Form Post npm version js-standard-style

A simple solution to handling file and form submissions

Installation

$ npm install express-form-post --save

Usage

The information for the file uploaded will be available in the files and body object in the request object. express-form-post can be dropped in as middleware or used as a function to handle file upload.

Quick Start

var express = require("express");
var app = express();
var efp = require("express-form-post");
var formPost = efp();

app.use(formPost.middleware());

Disk Storage

var express = require("express");
var app = express();
var efp = require("express-form-post");
const formPost = efp({
	store: "disk",
	directory: path.join(__dirname, "tmp"),
	maxfileSize: 10000,
	filename: function(filename, fieldname, mimetype) {
		return Date.now() + "-" + filename;
	},
	validate: function(fieldname, filename, mimetype) {
		console.log(mimetype);
		if(mimetype != "application/pdf") {
			return false;
		}
	}
});

app.use(formPost.middleware(function(err) {
	if(err) console.log(err);
	console.log("Here are my files:", req.files);
}));

Usage with S3

$ npm install aws-sdk --save
var express = require("express");
var app = express();
var efp = require("express-form-post");
const formPost = efp({
	store: "aws-s3",
	maxfileSize: 100000,
	filename: function(filename, fieldname, mimetype) {
		return filename;
	},
	keys: {
		accessKeyId: process.env.AWS_ACCESS_KEY_ID,
		secretAccessKey: process.env.secretAccessKey,
		bucketName: process.env.S3_BUCKET_NAME,
		ACL: "public-read"
	}
})

app.use(formPost.middleware(function(err) {
	if(err) console.log(err);
	console.log("Here are my files", req.files);
}));

As a async function

app.post("*", (req, res, next) => { 
	formPost.upload(req, res, (err) => {
		if(err) {
			console.log(err);
		}
		console.log("My files are located here:", req.files);
		res.redirect("/");
	});
}

API

Further API documentation will be implemented soon.

efp(opts)

express-form-post accepts an "optional" options parameter

KeyDescriptionNote
storeThe type of storecheck below for available store methods
directoryThe folder to which the file will be saveddefaults to current directory
filenamefunction to determine file save namedefaults to the file's name on the user's computer
maxfileSizeSize of the file in bytesdefaults to infiniti
validatefunction to validate uploaded file
keysThe name of the file within the destinationused for cloud storage

Available storage methods

  • disk storage
  • aws s3

Will be available soon

  • google drive
  • dropbox

Keywords

FAQs

Package last updated on 18 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc