Multer是一个流行的Node.js中间件,用于处理文件上传。它提供了方便的API来处理上传的文件,并将其保存到服务器上的指定位置。
然而,Multer确实无法直接获取文件名。它提供的req.file对象包含了上传文件的一些信息,但没有直接包含文件名。要获取文件名,可以使用req.file.originalname属性。
以下是对Multer无法获取文件名的解释和解决方法:
示例代码如下所示:
const multer = require('multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
const upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), function (req, res, next) {
// 获取文件名
const fileName = req.file.originalname;
// 其他处理逻辑
});
在上述示例中,我们使用Multer的diskStorage配置来指定文件的存储位置和文件名。在上传文件后,可以通过访问req.file.originalname来获取文件名。
通过使用腾讯云的相关产品,可以实现更高效、可靠的文件上传和存储。
领取专属 10元无门槛券
手把手带您无忧上云