我想创建一张已经上传的图片的链接(./pictures),并将链接添加到我的MySQL-DB。
图片保存:
sync
答案 0 :(得分:1)
这个唯一的伪/示例代码,但我希望它有所帮助:
const storage = multer.diskStorage({
destination(req, file, cb) { /* save to destination */},
filename(req, file, cb) { /* make filename */ }
});
router.post('/', multer({ storage }), (req, res) => {
// you can store all these params
const fileAttrs = {
fieldname: req.file.fieldname,
originalname: req.file.originalname,
encoding: req.file.encoding,
mimetype: req.file.mimetype,
destination: req.file.destination,
filename: req.file.filename,
path: req.file.path,
size: req.file.size
}
// save fileAttrs into your database (e.g. using Photo model)
Photo.create(fileAttrs).then(() => {
// handle response
res.redirect('/');
});
});
主要思想是您可能希望创建存储中间件并将其传递给路由处理程序。上传图像后,您应该可以访问一些或多个属性,这些数据可以存储在数据库中,以后用于检索图像。
至于在数据库中存储属性,我将假设你正在使用某种ORM这样的书架或续集。在这种情况下,您将拥有可用于将这些attrs写入数据库的照片/图像模型。
在处理响应之前,所有这些都需要在路由处理程序中完成。