簡體   English   中英

nodejs 在 2 個不同的文件夾中上傳 2 個單張圖像

[英]nodejs upload 2 single image in 2 different folder

我正在嘗試在不同的文件夾中上傳 2 張圖片,但出現錯誤。 我已將數組用於 multer,但仍顯示意外的字段或文件名。 我使用 multer 將節點用作服務器

我的代碼是

const DIR = './fabric/img/';
const designDIR = './fabric/design/';
const storage = multer.diskStorage({

 destination: (req, file, cb) => {
    cb(null, DIR);
  },
  filename: (req, file, cb) => {
    const fileName = file.originalname.toLowerCase().split(' ').join('-');
    cb(null, fileName)
  }
});
const designstorage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, designDIR);
  },
  filename: (req, file, cb) => {
    const fileName = file.originalname.toLowerCase().split(' ').join('-');
    cb(null, fileName)
  }
});

var upload = multer({
  storage: storage,
  designstorage: designstorage,
  limits: {
    fileSize: 1024 * 1024 * 5
  },
  fileFilter: (req, file, cb) => {
    if (file.mimetype == "image/png" || file.mimetype == "image/jpg" || file.mimetype == "image/jpeg") {
      cb(null, true);
    } else {
      cb(null, false);
      return cb(new Error('Only .png, .jpg and .jpeg format allowed!'));
    }
  }
});

router.post('/fabric', upload.any(), (req, res, next) => {


  const io = req.app.get('io');
  const product = new db.fabric({
    image: req.protocol + "://" + req.hostname + ":" + req.socket.localPort + "/img/" + req.files.filename,
    design: req.protocol + "://" + req.hostname + ":" + req.socket.localPort + "/design/" + req.files.filename,

  });

  product.save().then(result => {
    console.log(result);
    res.status(201).json({
      message: "product added successfully!",
      productCreated: {
        image: result.image,
        design: result.design
      }
    })
    io.emit('productAdded');
  }).catch(err => {
    console.log(err),
      res.status(500).json({
        error: err
      });
  })
})

從郵遞員“圖像”發帖時出現以下錯誤:“ http://localhost:3000/img/undefined

嘗試使用 req.files[0].originalname, req.files[1].originalname,如果不檢查控制台,則您將獲得所需的字段名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM