Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including nodefu with all npm packages installed. Try it out:

var nodefu = require("nodefu")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

nodefu v1.3.0

Express middleware to easily save files sent through multipart/form-data to disk.

Description =========== multipart/form-data saving to disk made easy.

Requirements

Install

npm install nodefu

Usage

var express = require('express')
var nodefu  = require('nodefu')

var app = express()
app.use(nodefu())

You can access the files in the request object and save them to disk like this:

req.files.fieldName.toFile(path,[filename],callback)
  • fieldName: the name of the input field on your html
  • path: string containing the save path
  • filename: optional parameter string that specifies the name of the file ( if none is passed, the file name will be the same )
  • callback: callback function with err and data attributes, respectively

And to save the uploaded files to mongodb, first you have to specify the mongodb path when using the middleware:

app.use(nodefu('mongodb://127.0.0.1:27017/test'))

And now you can call this method from the request object:

req.files.fieldName.toMongo([filename],callback)
  • fieldName: the name of the input field on your html
  • filename: optional parameter string that specifies the name of the file ( if none is passed, the file name will be the same )
  • callback: callback function with err and data attributes, respectively

You can also access data passed through multipart/form-data other than files using

req.fields.otherFieldName
HTML
<form id="uploadForm" enctype="multipart/form-data" action="/actionRoute" method="post">
    <input type="file" name="fieldName"></input>
    <input type="text" name="otherFieldName"></input>
    <input type="submit" name="submit" value="Upload File"></input>
</form>
Angular

If you are using angular, I recommend using the ng-file-upload module. You can check it out on here.

->♥<-

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free