用nodejs实现上传文件,并可限制文件大小


用nodejs实现上传文件很多种方法,有的是可以限制文件大小的。比如使用multiparty组件可以实现控制上传文件的大小。
代码如下:

var multiparty = require('multiparty');
var http = require('http');
var util = require('util');

http.createServer(function(req, res) {
if (req.url === '/upload' && req.method === 'POST') {
// parse a file upload
var form = new multiparty.Form();

//存储路径:当前目录
form.uploadDir =__dirname;
//文件大小限制:1MB
form.maxFilesSize = 1 * 1024 * 1024;

form.parse(req, function(err, fields, files) {
console.log(err,files);
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});

return;
}

// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8080);

nodejs代码是可以加密的,使用JShaman,就可以给JS代码混淆加密,防止被别人查看。