在Node.js中使用Multer动态创建用于文件上传的自定义文件夹,可以按照以下步骤进行操作:
npm install multer
const multer = require('multer');
multer.diskStorage
方法来创建存储引擎:const storage = multer.diskStorage({
destination: function (req, file, cb) {
// 指定文件上传的目标文件夹
cb(null, 'uploads/');
},
filename: function (req, file, cb) {
// 自定义文件名
cb(null, Date.now() + '-' + file.originalname);
}
});
在上述代码中,destination
属性指定了文件上传的目标文件夹,这里使用了uploads/
作为示例。filename
属性用于自定义文件名,这里使用了当前时间戳和原始文件名的组合。
const upload = multer({ storage: storage });
upload.single
方法处理单个文件上传,或者使用upload.array
方法处理多个文件上传。以下是使用upload.single
方法的示例:app.post('/upload', upload.single('file'), function (req, res, next) {
// 文件上传成功后的处理逻辑
res.send('文件上传成功');
});
在上述代码中,upload.single('file')
表示处理名为file
的文件上传。
uploads/
文件夹:const fs = require('fs');
if (!fs.existsSync('uploads/')) {
fs.mkdirSync('uploads/');
}
在上述代码中,fs.existsSync
用于检查文件夹是否存在,fs.mkdirSync
用于创建文件夹。
这样,当使用Node.js中的Multer模块进行文件上传时,会动态创建指定的自定义文件夹,并将上传的文件保存在其中。
领取专属 10元无门槛券
手把手带您无忧上云