2016-10-17 56 views
0

所以,当我上传文件它并没有显示任何错误,它只是不上载文件,我得到的消息'0文件上传成功,我确实得到了数据库中的记录每个上传商品文件没有上传风帆js

所以,这里的输入形式

<form action='./make' method="post"> 
<input type="file" name="vid"> <br> 
<input type="text" name="name"> <br> 
<input type="hidden" name="_csrf" value="<%= _csrf %>"> 
<input type="hidden" name="ownerID" value="<%= req.session.User.id %>"> 
<input type="submit" value="add video"> 
</form> 

这是 '制作' 动作:

make: function (req, res, next) { 
    Video.create(req.params.all(), function videoCreated (err,video) { 
     console.log("create video"); 
     // if(err) return next(err); 
     req.file('vid').upload({ 
      dirname: './assets/images' 
     }, function (err, uploadedFiles) { 
      if (err) return res.negotiate(err); 

      return res.json({ 
       message: uploadedFiles.length + ' file(s) uploaded successfully!' 
      }); 
     }); 

    if(err){ 
     console.log(err); 
     req.session.flash = { 
      err: err 
     } 
     return res.redirect('/user/new'); 
    } 

}); 
} 
+0

它并没有正常工作'dirname'选项?上传的文件应该以'.tmp/uploads /'结尾。 – Viktor

+0

我在没有'dirname'的情况下试过了,它没有再次工作。 – Bro

回答

0

试试这个:

index.ejs

<form enctype="multipart/form-data" action="epale" method="post"> 
    <input type="file" id="archivo" name="archivo"> 
    <input type="submit" value="Enviar"> 
</form> 

IndexController.js

epale: function (req, res) { 
    //return res.send('Hi there!'); 
    if (req.method === 'GET') 
     return res.json({ 'status': 'GET not allowed' }); 
    // Call to /upload via GET is error 

    var uploadFile = req.file('archivo'); 
    console.log(uploadFile); 

    uploadFile.upload({ 
     dirname: '../../assets/images', 
     saveAs: function(file, cb) { 
     cb(null, file.filename); 
     } 
    }, function onUploadComplete(err, files) { 
     // Files will be uploaded to .tmp/uploads 

     if (err) return res.serverError(err); 
     // IF ERROR Return and send 500 error with error 

     console.log(files); 
     res.json({ status: 200, file: files }); 
    }); 
    }, 

routes.js

'/': { 
    view: 'homepage' 
    }, 
    '/index': { 
    view: 'index' 
    }, 
    '/epale': { 
    controller: "Index", 
    action: "epale", 
    }, 

修订版(2016年5月11日)在:http://maangalabs.com/blog/2014/08/12/uploading-a-file-in-sails/