FileUpload
body-parser는 파일을 업로드하는 경우에 json과 urlencoded 양식 제출만 처리한다. multi-part를 처리하기 위해서 connect-busboy 모듈을 사용하였다.
주의해야 할 점은 이미지를 저장하고자 하는 폴더가 경로에 있어야한다.
var express = require('express');
var fs = require('fs');
// var bodyParser = require('body-parser');
var busboy = require('connect-busboy');
var app = express();
// app.use(bodyParser.urlencoded({extended: false}));
app.use(busboy());
app.listen(3303, function() {
console.log("Server Start");
});
app.get('/', function(req, res) {
fs.readFile('index.html', function(err, data) {
res.writeHead(200, { 'Content-Type': 'text/html'});
res.end(data, function(error) {
console.log(error);
})
})
})
app.post('/upload', function(req, res) {
var fstream;
req.pipe(req.busboy);
req.busboy.on('file', function(fieldname, file, filename) {
console.log("Uploading: " + filename);
fstream = fs.createWriteStream(__dirname + '/files/' + filename);
file.pipe(fstream);
fstream.on('close', function() {
res.redirect('back');
});
});
});