前台代码使用jQuery的ajax:
$(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 () {
}
});
});
})
上传文件的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);
});
原文:http://www.cnblogs.com/onlyonely/p/4468606.html