Node.js - 我想像模块那样更改我的上传

时间:2017-11-22 09:17:29

标签: javascript node.js

index.js

router.post('/upload', upload.single('userfile'), function(req, res){ 
  res.cookie('filename', req.file.originalname, {signed:true});
  res.cookie('filesize', req.file.size, {signed:true});
  var filename = __dirname + '/../' + req.file.path;

   hash_module.hash(filename, function(hashResult) {
      res.cookie('hash', hashResult, {signed:true});
      res.redirect('/hash')
  })
})

var upload = (upload.single('userfile'), function(req, res){
   res.cookie('filename', req.file.originalname, {signed:true});
   res.cookie('filesize', req.file.size, {signed:true});
   var filename = 'C:/nodejs/module/'+ req.file.path;

  hash_module.hash(filename, function(hashResult) { 
     res.cookie('hash', hashResult, {signed:true}); 
     res.redirect('/hash')
  })
 })

我希望在'之后更改我的代码,但它不起作用。

我不知道该怎么做。我需要你的帮助

1 个答案:

答案 0 :(得分:0)

因为你无法使用这样的功能。

 const multer = require('multer');
 var upload = multer({
     storage: storage
 }).single('userfile');

 router.post('/upload', function(req, res) {
     upload(req, res, function(err) {
         if (err) {
             // This is a good practice when you want to handle your errors differently

             return
         }
         res.cookie('filename', req.file.originalname, {
             signed: true
         });
         res.cookie('filesize', req.file.size, {
             signed: true
         });
         var filename = __dirname + '/../' + req.file.path;

         hash_module.hash(filename, function(hashResult) {
             res.cookie('hash', hashResult, {
                 signed: true
             });
             res.redirect('/hash')
         })

     })
 })