node.js - 如何使用 multer 从表单中获取上传文件的路径
问题描述
我有一个带有图像和文本的表单,将图像保存在上传文件夹中,并使用猫鼬将图像路径和文本保存在 MongoDB 数据库中。
我的问题是如何获取上传的图片路径?
我的代码:
// the router
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + '.jpg')
}
});
var upload = multer({ storage:storage });
router.post('/add', upload.single('image'),function (req, res, next) {
let image = new Image();
image.path = file.path;
image.text = req.body.text;
image.save(function (err) {
if (err) {throw err;}
else {
req.flash('success', 'File uploaded');
res.redirect('/media/add');
}
});
});
// the pug file
extends layout.pug
block css
block content
if user&&user.roles==admin
h1 add image to gallery
form(method='POST', action='/media/add', enctype="multipart/form-data")
.form-group
label Image path:
input.form-control(name='image', type='file')
.form-group
label Title:
input.form-control(name='text', type='text')
input.btn.btn-primary(type='submit', value='Add')
else
p not have accsess
解决方案
您可以获取刚刚上传的文件的数据req.file
,因此要访问文件的路径,您可以使用req.file.path
推荐阅读
- java - 有没有办法将 SQS 队列动态分配给 @SqsListener 方法实现,而不是必须是静态的?
- python - 箱线图 X 值出现不止一次
- java - Places API - 无法在 android 中检索建议
- r - 为什么从 R 写入 Azure SQL Server 很慢
- python - 如何在 Python 中使用多处理进行列表减法
- c# - mscorlib.dll 中出现“System.FormatException”类型的未处理异常 谁能帮我解决这个错误?
- python - 无法删除某些内容,但可以在其他地方使用。MongoDB / Python(电机)
- rust - 如何在rust的for循环中返回一个值?
- google-apps-script - 我拥有该脚本,但它显示“您无权访问所请求的文档”。- 应用脚本
- python - pymongo.errors.ConfigurationError:必须安装“dnspython”模块才能使用 mongodb+srv:// URI,即使在安装了 pymongo 和 dnspython 之后也是如此