nodejs express 上传文件 (格式 FormData)

 前台代码使用jQuery的ajax:

<script type="text/javascript">
$(function(){
$('#file_upload').click(function(){

var data = new FormData();
var files = $('#file')[0].files;

if (files) {
data.append('codecsv',files[0]);
}

$.ajax({
cache: false,
type: 'post',
dataType: 'json',
url:'upload',
data : data,
contentType: false,
processData: false,
success : function () {

}
});
});

})

</script>
<table style='width: 100%;height: 100%'>
<tr>
<td style='width:800px;text-align: center;'>
<input id='file' type="file">
<input id='file_upload' type="button" value="upload">
</td>
</tr>
</table>

 

上传文件的nodejs express的后台

Node.js代码

 

var express = require('express');
var fs = require('fs');
var path = require('path');

 

//createServer
var app = module.exports = express.createServer();

 

app.configure(function(){
app.use(express.bodyParser({uploadDir:'c:\\aa'}));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});

 


app.post('/:service?', function(req, res){
if (req.files && req.files.codecsv != 'undifined') {
var temp_path = req.files.codecsv.path;
if (temp_path) {
fs.readFile(temp_path, 'utf-8', function(err, content) {
//文件的内容
console.log('content',content);
// 删除临时文件
fs.unlink(temp_path);
});
}
}

});

 

app.listen(4000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});

 

posted on 2015-04-30 12:50  onlyone1221  阅读(2922)  评论(0编辑  收藏  举报

导航