Sails JS中的多个文件上传

问题描述

我的前端有3个文件。 auditfile,vapt1file和vapt2file。我有三个布尔变量。如果布尔值var为true,则应上传我的文件,并将名称保存到我的数据库中。我正在使用sails.js。为了这: 我的代码就是这样。

if(vapt1){
 vapt1file=req.file("vapt1file");
    vapt1file.upload({dirname:'../../assets/images/logs'},function onUploadComplete(err,files) {
          if (err) {
           console.log(err);
           res.redirect('/dashboard/home')
          }  
          else if(files.length==0){
            message="No File is Uploaded";
            console.log(message);
          }
           else{
       Vapt.update({id:vaptid}).set({vapt1:vapt1,vapt1date:vapt1date,vapt1agency:vapt1agency,vapt1auditor:vapt1auditor,type:type,recorddate:date,vapt1file:loglocation,vapt2file:loglocation1,auditfile:loglocation3}).exec(function(err,v){
              Vapt.update({id:vaptid.id}).set({vapt1file:loglocation})
               if(err && !v) {
                message="error occured.please try again";
                console.log(err);
                FlashService.error(req,message);
                res.redirect('/dashboard/home')
               }
               else{
                 console.log(v);
               } })}});
  }else{
    Vapt.update({id:vaptid}).set({vapt1:vapt1,recorddate:date}).exec(function(err,v){
        if(err && !v) {
         message="error occured.please try again";
         console.log(err);
        }
        else{
          console.log(v);
        } });
  }

 if(vapt2){
 
  vapt2file=req.file("vapt2file");
  vapt2file.upload({dirname:'../../assets/images/logs'},files) {
       if (err) {
         message="error occured.please try again";
         console.log(err);}         }  
          else if(files.length==0){
          message="No File is Uploaded";
           console.log(message);         
          }
           else{
   
           loglocation1=files[0].fd.toString();var start=loglocation1.lastIndexOf('\\')         
           loglocation1=loglocation1.substring(start+1)          
           Vapt.update({id:vaptid}).set({vapt2:vapt2,vapt2date:vapt2date,vapt2agency:vapt2agency,vapt2auditor:vapt2auditor,vapt2file:loglocation1}).exec(function(err,v){
             if(err && !v) {
             message="error occured.please try again";
             console.log(err);
            }
            else{
              console.log(v);
             } });}});}
       else{        
   Vapt.update({id:vaptid}).set({vapt2:vapt2}).exec(function(err,v1){
    if(err && !v1) {
     message="error occured.please try again";
     console.log(err);
    }
    else{
      console.log(v1);
    } })}

      if(audit){
        auditdate=req.body.auditdate;
        auditor=req.body.auditor;
        agency=req.body.agency;
        auditfile=req.file("auditfile");
        auditfile.upload({dirname:'../../assets/images/logs'},files) {
        if (err) {
         message="error occured.please try again";
         console.log(err);
        }  
        else if(files.length==0){
          message="No File Uploaded.please try again";
          console.log(message);
        }
         else{
      console.log(audit,auditdate,agency,auditor);
          console.log("in audit file")
            console.log(files[0].fd.toString())
           loglocation3=files[0].fd.toString();var start=loglocation3.lastIndexOf('\\');
           loglocation3=loglocation3.substring(start+1)
           console.log(loglocation3)
     Vapt.update({id:vaptid}).set({audit:audit,auditdate:auditdate,agency:agency,auditor:auditor,v1){
        if(err && !v1) {
         message="error occured.please try again";
         console.log(err);
         FlashService.error(req,message);
         res.redirect('/dashboard/home')
        }
        else{
          console.log(v1);
    }});}});}
    else{
      Vapt.update({id:vaptid}).set({audit:audit}).exec(function(err,v){
          if(err && !v) {
           message="error occured.please try again";
           console.log(err);
           FlashService.error(req,message);
           res.redirect('/dashboard/home')
          }
          else{
            console.log(v);
      }
      });}  

我的http.js是:

   bodyParser: (function _configureBodyParser(){
      var skipper = require('skipper');
      var middlewareFn = skipper({ strict: true});
      return middlewareFn;
    })(),

如果我上传文件大小较小,例如80kb,则所有文件都会成功更新。但是,如果每个文件的大小增加到大约1 mb,则只会上传一个文件。我不知道我要去哪里。请帮助我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)