1,下面就是上傳文件的nodejs的後臺javascript
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的ajaxjava
<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', , 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>