如图:
将姓名、年龄信息存入文件中;
图片存储在另一文件夹中
屏幕快照 2018-01-29 下午7.48.13.png
思路:
一、获取预定义参数
二、创建服务器,端口号
三、显示HTML样式
四、点击提交,请求传递
1、引入文件
2、解析:获取 字段、文件
2.1 存储字段
2.2 存储文件(图片)
2.2.1、判断是否有装图片的文件夹,无则创建一个
2.2.2、获取图片临时存放路径
2.2.3、创建可读、可写流;将图片写入文件夹
2.2.4、判断是否存放成功 (可读流结束)
// 一、获取预定义参数
var http =require("http");
var fs = require("fs");
var url = require("url");
var formidable = require("formidable");
// 二、创建服务器,端口号
var server = http.createServer(function(req,res){
var pathname = url.parse(req.url,true).pathname;
// 三、显示HTML样式
if(pathname == "/"){
var rs = fs.createReadStream("uploads.html");
rs.pipe(res);
}
// 四、点击提交,请求传递
else if(pathname == "/uploads"){
// 1、引入文件
var form = new formidable.IncomingForm();
// 2、解析:获取 字段、文件
form.parse(req,function(err,fields,files){
if(err){
return console.log(err);
}else{
// 2.1 存储字段
var fieldStr = JSON.stringify(fields);
fs.writeFileSync("1.txt",fieldStr);
// 2.2 存储文件(图片)
// 2.2.1、判断是否有装图片的文件夹,无则创建一个
if(!fs.existsSync("uploads")){
fs.mkdir("uploads");
}
// 2.2.2、获取图片临时存放路径
var filePath = files.img.path;
// 2.2.3、创建可读、可写流;将图片写入文件夹
var rs = fs.createReadStream(filePath);
var ws = fs.createWriteStream("./uploads/"+files.img.path);
rs.pipe(ws);
// 2.2.4、判断是否存放成功 (可读流结束)
res.setHeader("Content-type","text/html;charset=utf-8");
rs.on("end",function(){
res.write("上传成功");
res.end();
})
}
})
}
})
server.listen(8999);
网友评论