nodejs移动端formidable上传图片-

html代码:


服务端js


var express=require('express');

var router=express.Router();

var formidable=require('formidable');

var fs=require('fs');

var gm=require('gm').subClass({imageMagick:true});

router.post('/file/uploading',function(req,res,next){

//res.header( 'Content-Type','text/javascript;charset=utf-8');        //设置返回字符串编码

varform=newformidable.IncomingForm();//创建对象

form.uploadDir=global.dirname+"/public/upload/source";//设置临时文件存放的路径

form.encoding='utf-8';//设置上传数据的编码

form.keepExtensions=true;//设置是否保持上传文件的拓展名

form.maxFieldsSize=4*1024*1024;//文件大小

form.parse(req,function(err, fields, files) {

if(err) {

res.render('/', {title: err });

return;

}

var extName='jpg';//后缀名

switch(files.upload.type) {

case' image/pjpeg':

extName='jpg';

break;

case 'image/jpeg':

extName='jpg';

break;

case 'image/png':

extName='png';

break;

case 'image/x-png':

extName='png';

break;

case 'image/gif':

extName='gif';

break;

}

if(extName.length==0){

res.send('上传文件类型有误!');

return;

}

var avatarName=uuid.uuid(8,16)+'_normal'+'.'+extName;

var newPath=form.uploadDir+"/"+avatarName;

fs.renameSync(files.upload.path, newPath);  //重命名

response.writeHead(200,{"Content-Type":"text.html"});

response.write("received image:");

response.end();

});

你可能感兴趣的:(nodejs移动端formidable上传图片-)