在Multer中上传图像后移动并重命名图像

时间:2019-09-11 08:24:39

标签: node.js multer

我已经开发了一个小型Web服务器来上传图片。

现在,我想使用图片的原始名称并将图片移动到文件夹中。文件夹的名称在req.body中。

好,上传有效,但是重命名o和移动图片的目的在哪里?

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);
});

1 个答案:

答案 0 :(得分:1)

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

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 })