我尝试使用node.js将图像上传到mysql表。但是没有结果。例如,当我尝试上传userName和lastName时,该查询工作正常,但是当我尝试上传图片时,该查询不起作用。
这是我的SQL查询:
const sql = `INSERT INTO user(firstName, lastName, image) VALUES ('${firstName}', '${lastName}', '${image}')`
这是我的常量:
const firstName = req.body.firstName
const lastName = req.body.lastName
const image = await sharp(req.file.buffer).resize({width: 250, height: 250}).png().toBuffer()
我希望数据存储在表中
答案 0 :(得分:0)
您是否也可以共享表定义,这也会有所帮助,但是我真的不明白为什么您将图像存储在数据库中而不是目录中,在我整个8年的经验中,我从未听说过那。
请原谅,但是如果图像可以变得很大,大于1 MB,那么将图像存储在数据库中可能会对数据库以及数据库和Web服务器之间的网络(如果它们位于不同的主机上)造成不必要的负载。
一般做法是将图像存储在文件系统上的目录中,并将对图像的引用存储在数据库中。例如图像的路径,图像名称等。或者,您甚至可以将图像存储在内容分发网络(CDN)上或跨越很大物理区域的众多主机上,并存储引用以访问数据库中的那些资源。