Skip to content

Instantly share code, notes, and snippets.

@nanha
Last active December 14, 2015 10:39
Show Gist options
  • Save nanha/5073919 to your computer and use it in GitHub Desktop.
Save nanha/5073919 to your computer and use it in GitHub Desktop.
https://github.com/felixge/node-formidable#example
var formidable = require('formidable'),
http = require('http'),
util = require('util');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8080);
===============================
received upload:
{ fields: { title: '' },
files:
{ upload:
{ size: 11661,
path: '/var/folders/kc/6clf637n2yl92_p7w3rzg4b40000gn/T/db6b2eba2cd580474a5baf764d3c73c7',
name: 'oauth_facebook.jpeg',
type: 'image/jpeg',
hash: false,
lastModifiedDate: Sun Mar 03 2013 09:35:50 GMT+0900 (KST),
_writeStream: [Object] } } }
보시다시피 임시로 파일은 임시폴더에 저당되며, 파일원래 이름이 보입니다. fs.rename 메소드를 사용하여 적당한곳에 옮기시면 됩니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment