multer文件上传不成功,因为中间件不起作用

时间:2019-05-15 17:07:58

标签: javascript node.js file express multer

我正在尝试使用multer上传文件,但不要将multer用作中间件,如果我将其用作中间件,它的效果很好,但为了进行验证,我不得不以其他方式使用它,所以我使用以下代码:

  upload(req,res, (err)=>{
    if(err) throw err;            
      req.files.forEach((file)=>{       
          imgarray.push(imgStorageBaseURL + '/' + req.userId + '/'  + file.filename)
      })
  })

但这给了我错误

  

JSON位置0出现意外令牌

我不知道出什么问题了,因为这是我第一次以这种方式使用multer。 顺便说一下,这是我的multer配置:

const storage = multer.diskStorage({

  destination: (req, file, callback) => {
    const userPath = path.join(imgStoragePath, req.userId);
    fs.mkdir(
      userPath,
      () => callback(null, userPath)
   )
 },


  filename: (req, file, callback) => {
    const filenameParts = file.originalname.split('.');
    const ext = filenameParts.pop();
    const basename = filenameParts.join('.');
    const additionalPath = Date.now() + '' + uuid() + '' + Math.floor(Math.random() * (2000 - 500)) + 500;
callback(null, basename + '-' + additionalPath + '.' + ext);
  },  
})

const upload = multer({
  storage,
  limits: '1mb',

}).array('image')

谢谢!

0 个答案:

没有答案