节点JS创建从图片到数据库的链接

时间:2018-01-24 05:23:56

标签: javascript mysql node.js

我想创建一张已经上传的图片的链接(./pictures),并将链接添加到我的MySQL-DB。

图片保存:

sync

1 个答案:

答案 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写入数据库的照片/图像模型。

在处理响应之前,所有这些都需要在路由处理程序中完成。