var formidable = require('formidable');
var http = require('http');
var util = require('util');
var sd = require('silly-datetime');
var path=require("path");
var fs=require("fs");
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.uploadDir = "./uploads"; //设置文件上传的地址
form.parse(req, function(err, fields, files) {
//文本域存储于fields 文件域存储 files
res.writeHead(200, {'content-type': 'text/plain;charset=utf8'});
var dateTime=sd.format(new Date(), 'YYYYMMDDHHmmss');
var ran=parseInt(Math.random()*89999+10000);
var extname=path.extname(files.upload.name);
var oldPath="./"+files.upload.path;
var newPath="./"+"uploads/"+dateTime+ran+extname;
fs.rename(oldPath,newPath,function(){
});
res.end(__dirname);
});
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="text" name="age"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8080);
写成模块的形式
相关联的文件夹
image.png
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://localhost:8080/upload" enctype="multipart/form-data" method="post">
<input type="text" name="title"><br>
<input type="text" name="age"><br>
<input type="file" name="upload" multiple="multiple"><br>
<input type="submit" value="Upload">
</form>
</body>
</html>
app.js
var http = require('http');
var upload=require("./upload");
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
upload.upload(req,res);
}
}).listen(8080);
upload.js
var formidable = require('formidable');
var util = require('util');
var sd = require('silly-datetime');
var path=require("path");
var fs=require("fs");
var upload=function(req,res){
var form = new formidable.IncomingForm();
form.uploadDir = "./uploads"; //设置文件上传的地址
form.parse(req, function(err, fields, files) {
//文本域存储于fields 文件域存储 files
res.writeHead(200, {'content-type': 'text/plain;charset=utf8'});
var dateTime=sd.format(new Date(), 'YYYYMMDDHHmmss');
var ran=parseInt(Math.random()*89999+10000);
var extname=path.extname(files.upload.name);
var oldPath="./"+files.upload.path;
var newPath="./"+"uploads/"+dateTime+ran+extname;
fs.rename(oldPath,newPath,function(){
});
res.end("改名成功");
});
}
exports.upload=upload;
网友评论