k668 发表于 2017-2-21 11:12:36

nodejs express 上传文件

  1,下面就是上传文件的nodejs的后台
  


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);
});

  2,前台代码使用jquery的ajax
  


<script type="text/javascript">
$(function(){
$('#file_upload').click(function(){
var data = new FormData();
var files = $('#file').files;
if (files) {
data.append('codecsv',files);
}   
$.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>
 
页: [1]
查看完整版本: nodejs express 上传文件