nodejs multer可以创建目录并上传文件

时间:2020-07-06 05:19:59

标签: node.js multer

我使用了中间件-上传后,在日志中给出两个接收到的文件后返回错误: 错误:ENOENT no such file or directory open, C:\{path here}

uploaddata.js:

const express = require("express");
const multer  =  require("multer");
/* const router = express.Router();
router.use(express.static(__dirname+"uploads/")); */


const Storage = multer.diskStorage({
  destination: function(req, file, callback) {    
    console.log("file.fieldname", file);  
      callback(null, 'uploads/'+file.fieldname+'/');  
  },
  filename: function(req, file, callback) {
    console.log("filename::", file.originalname);    
      callback(null, file.fieldname + "_" + Date.now() + "_" + file.originalname);    
  }
});

const upload = multer({
  storage: Storage,
  limits: {
      fileSize: 1024 * 1024 
  },
  fileFilter: (req, file, cb) => {
      checkFileType(file, cb);
  }
}).fields(
  [
      {
      name:'userpic',
      maxCount:1
      },
      {
      name:'usercv',
      maxCount:1
      }
  ]
);

function checkFileType(file, cb) {    
//  console.log("file.fieldname", file);
    if(file.fieldname==="userpic")
    {
        if (file.mimetype === 'image/png' || file.mimetype === 'image/jpg' ||  file.mimetype === 'image/jpeg')
         { // check file type to be png, jpeg, or jpg
            cb(null, true);
          } else {
            cb(null, false); // else fails
          }
    }
    if(file.fieldname==="usercv")
    {
     if ( file.mimetype === 'application/pdf' || file.mimetype === 'application/msword' ||  file.mimetype === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' )
      { // check file type to be pdf, doc, or docx
            cb(null, true);
          } else {
            cb(null, false); // else fails
          }
    }
  }
    
    module.exports = upload;
通过邮递员在控制台中发送

我正在发送图像和docx文件,该文件已成功读取,但是无法在服务器路径上创建目录和那些文件 谁能给我解决方法。

0 个答案:

没有答案