node.js实现多图片上传实例

2020-06-17 06:51:42易采站长站整理

先上效果图:



这是我当时做多图片的代码,拿出来给大家借鉴一下(有些地方需要亲们自己改一下,大方向是对的)


总共涉及到三处文件(常规来说)


1.路由入口文件(我这里是/routes.js,很多时候会在/app.js)

  //添加美食
  app.all(‘/add’, users.add);
2.路由控制器文件(我这里是/routes/users.js)

//添加美食
exports.add = function (req, res) {
   if (req.method == “GET”) {
        var user = {};
     if(req.session.user){
         user = req.session.user;
     }
    res.render(“users/food_add”, {title:’发布美食-‘+config.name,name:config.name,user:user});
  } else  if (req.method == “POST”) {
    //获取数据
    var x = req.body.x;
    var y = req.body.y;
    var cat_id = req.body.cat_id;
    var cat_name = req.body.cat_name;
    var address = req.body.address;
    var title = req.body.title;
    var desc = req.body.desc;
    var content = req.body.content;
    var pics = ”;
    var price = req.body.price;
    var tags = req.body.tags;
    var add_time = Date.parse(new Date())/1000;
    var support = 0;
    var uid = req.body.uid;


    //处理图片上传
    //console.dir(req.files);


    var file_obj = req.files.pics;
    //console.log(file_obj.length);
    var file_obj2 = [];
    for(var i=0;i<file_obj.length;i++){
        if(file_obj[i].name){
            file_obj2.push(file_obj[i]);
        }
    }
    var length = file_obj2.length;
    if(length>0){
        file_obj2.forEach(function(item,index){
            if(item.path){
            var tmpPath = item.path;
            var type = item.type;
            var extension_name = “”;
            //移动到指定的目录,一般放到public的images文件下面