文件上传.js:
//文件上传插件的使用 multiparty包
/* body-parser包只能处理post请求,不能上传图片。 multiparty包post请求和文件都可以处理
1.cnpm install multiparty --save
2.var multiparty = require('multiparty');
3.上传图片的地方
var form = new multiparty.Form();
form.uploadDir='upload'; //上传图片保存的目录 (参看npmjs官网)
form.parse(req, function(err, fields, files) {
console.log(fields); //获取表单的数据
console.log(files); //图片上传成功返回的信息
});
4.html页面form 表单要加入 enctype="multipart/form-data"
**/
var express=require('express');
var app=new express(); /*实例化*/
var multiparty = require('multiparty'); //图片上传模块 即可以获取form表单的数据 也可以实现上传文件
//配置upload目录为我们的静态资源目录
app.use(express.static('upload')); //请求地址 /Aj8HIYV_EqbkNdCNwkYJiL33.jpg
//app.use('/upload',express.static('upload'));// 请求地址 /upload/Aj8HIYV_EqbkNdCNwkYJiL33.jpg
app.post('/doProductAdd',function(req,res){
//获取表单的数据 以及post过来的图片
var form = new multiparty.Form();
form.uploadDir='upload' //上传图片保存的目录 目录必须存在
form.parse(req, function(err, fields, files) {
//获取提交的数据以及图片上传成功返回的图片信息
console.log(fields); //获取表单的数据
console.log(files); //图片上传成功返回的信息
var username=fields.username[0]; //表单字段获取
var pic=files.pic[0].path; //获取文件保存的目录
//console.log(pic);
});
//.......
});
app.listen(3001,'127.0.0.1');