📜  multer 重命名文件 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:44.995000             🧑  作者: Mango

Multer重命名文件 - Javascript

Multer是一个Node.js中间件,用于处理multipart/form-data类型的数据,主要用于处理文件上传。本文将介绍如何在使用Multer上传文件时重命名文件。

安装Multer

要使用Multer,需要先安装它。可以使用npm包管理器在终端中运行以下命令来安装Multer:

npm install multer
上传文件并重命名

下面是一个简单的示例,演示了如何在使用Multer上传文件时重命名文件。在这个例子中,上传的文件将被重命名为原始文件名加上一个时间戳,并且保存在指定的文件夹中。

const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();

// 设置存储引擎
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, 'uploads/'); // 指定存储文件的文件夹
  },
  filename: (req, file, cb) => {
    const filename = file.originalname.toLowerCase().split(' ').join('-'); // 将文件名称中的空格用-替换
    const timestamp = new Date().getTime(); // 获取当前时间戳
    cb(null, `${timestamp}-${filename}`); // 重命名文件
  }
});

// 创建上传对象
const upload = multer({ storage: storage });

// 处理文件上传请求
app.post('/upload', upload.single('file'), (req, res) => {
  res.send('文件已上传');
});

app.listen(3000, () => {
  console.log('服务器已启动');
});

在上面的示例中,我们使用了diskStorage存储引擎。它指定了文件存储的目录和重命名规则。在filename回调函数中,我们将文件名改为小写,并将空格替换为短横线,并将时间戳添加到文件名前面。最后,我们将重命名后的文件名传递给回调函数的第二个参数,这样Multer就会保存文件时使用它。

结论

Multer使文件上传变得非常容易,它还提供了许多其他功能,如限制上传文件的大小,过滤上传的文件类型等。重命名文件是使用Multer进行文件上传的一种常见需求。在本文中,我们介绍了如何在使用Multer上传文件时重命名文件。现在,您可以轻松地使用Multer上传和重命名文件了。