【发布时间】:2019-04-27 14:30:53
【问题描述】:
我想更改我的文件名,但是当我检查 console.log (req.file) 时,我可以看到我更改为的文件名,但使用 Multergridfs Storage 将不同的文件名保存在数据库中。
1. the default filename
const storage = new GridFsStorage({
url: config.db,
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err)
}
const filename = 'file' + path.extname(file.originalname);
const fileInfo = {
filename: filename,
bucketName: 'contents'
};
resolve(fileInfo);
});
});
}});
2 this is where i edited the filename
router.post('/', upload.single('file'), (req, res) => {
req.file.filename = req.body.fileName + path.extname(req.file.originalname)
res.redirect('/upload/files')
console.log(req.file)
});
控制台的结果类似于
{ 字段名:'文件', originalname: '\'你也可以很棒\' - Elon Musk Motivation - Motivational Video.mp4', 编码:'7bit', mimetype: '视频/mp4', 编号:5bfb292c13eec142f6c20fd9, 文件名:'a.mp4', 元数据:空, 桶名:'内容', 块大小:261120, 尺寸:19372377, md5: '513c6220ef3afff644cf8a6dc4cd9130', 上传日期:2018-11-25T22:58:52.625Z, 内容类型:“视频/mp4”} { 文件名:'a' }
【问题讨论】:
-
欢迎来到 Stackoverflow。请将您要显示的任何代码复制并粘贴到问题中。最好不要将嵌入图像用于代码或错误消息。
标签: node.js mongodb mongoose multer multer-gridfs-storage