两次表达js服务器处理curl请求

时间:2018-10-09 10:58:33

标签: node.js express curl upload multer

当我这样向我的网站发布请求时:

curl -F data=@data http://server:port/path
{"error":"req.file undefined"}

对于req.file未定义的情况,我得到了答案。查看我的代码:

 var multer = require("multer");
 var storage = multer.diskStorage({
    //stuff
 })
 var upload = multer({ storage: storage })

 router.post('/path', upload.single("data"), function(req, res, next){ 
   console.log(req.file);

   if(!req.file){
     res.json({"error": "req.file undefined"});
     return;   
   }   
   //dostuff   
   res.json({"error": "hurray"}); 
 });

在我的服务器端,一切正常,输出为:

undefined
POST /path 200 1.535 ms - 15
POST /path 200 1.535 ms - 15
POST /path - - ms - -
POST /path - - ms - -
{ fieldname: 'data',
  originalname: 'data.txt',
  encoding: '7bit',
  mimetype: 'text/plain',
  destination: 'path/my-uploads',
  filename: 'data-201899-1028283.txt',
  path: 'path/my-uploads/data-201899-1028283.txt',
  size: 38 
}

因此,我看到在上传文件之前,console.log(req.file)日志undefined就是我在客户端curl端得到的答案,但是如何避免这种情况发生呢? 我使用multer 1.4.0,其中onParseEndonFileUploadComplete描述

0 个答案:

没有答案