【问题标题】:Storing images in an Image column of my table将图像存储在我的表格的图像列中
【发布时间】:2019-03-27 12:22:32
【问题描述】:
我是一名学生,正在为一家假公司编写代码。我需要能够将照片存储在表格中。我正在为列使用图像数据类型。但是到目前为止我尝试过的所有方法都没有奏效。
我们必须为零件客户和在车辆上完成的工作存储图片。我尝试通过表格数据视图插入照片,并尝试在程序运行时通过数据网格视图插入照片。
我希望了解我可以做些什么来允许用户在他们自己的计算机上使用这个程序时插入照片。
【问题讨论】:
标签:
c#
mysql
sql
database
image
【解决方案1】:
如果您可以访问文件存储,则可以将文件目录路径保存在数据库中,并在需要显示时获取图像,而不是将其存储在数据库中。
【解决方案2】:
基本上,将图像数据存储在数据库中并不是一个好主意,因为如果表变大,则会消耗数据库操作。
宁可将其存储在以数据 ID 命名的文件中,也可以存储在您创建并保存在数据库中的随机 ID 中。
例如 'userpics/user_237862.dat' 或 jpg,具体取决于 ID 为 237862 的用户的数据格式。
如果您确实必须将其存储在 mysql 数据库中,请使用“blob”格式来存储任何类型的二进制数据。看看尺寸限制:
https://dev.mysql.com/doc/refman/8.0/en/blob.html
哦,最好只用一张桌子来拍照。否则,用户表(f.e.)会变得非常大,如果您的系统成功,搜索操作将需要很长时间。
祝你好运,
卡斯滕
【讨论】:
-
我同意@snitch182,但是如果您仍然想将图像存储在数据库中,有很多教程解释了如何做到这一点,例如this one