在 Multer 中上传图片后移动和重命名图片

move and rename image after image upload in Multer

我开发了一个小型网络服务器来上传图片。

现在我想用图片原来的名字,把图片移动到一个文件夹中。文件夹的名称在 req.body.

好的,上传成功了,但是重命名和移动图片的重点在哪里?

const express = require('express');
const multer = require('multer');
const upload = multer({ dest: __dirname + '/uploads/images' });

const app = express();
const PORT = 3000;

app.use(express.static('public'));

app.post('/upload', upload.single('image'), (req, res) => {
    console.log(req.file.originalname)
    console.log(req.body.foldername)
    if (req.file) {
        res.json(req.file);
    }
    else throw 'error';
});

app.listen(PORT, () => {
    console.log('Listening at ' + PORT);
});

这是您在上传文件之前重命名文件的问题答案

var storage = multer.diskStorage({
      // Where to save
      destination: function (req, file, cb) {
        cb(null, '/tmp/my-uploads')
      },
      // File name
      filename: function (req, file, cb) {
        cb(null, file.originalname)  // file.originalname will give the original name of the image which you have saved in your computer system
      }
    })

    var upload = multer({ storage: storage })