2011-06-07 98 views
2

我想将图片(主要是JPEG)保存到MySQL数据库。我看到大多数人说保存其他地方的图片并添加链接到表。这是最有效的方法。但我需要加密我的照片,并希望设置用户权限。那么我该如何做到这一点。请任何人都可以帮助我。如何在MySQL中保存图片

我正在使用C客户端程序连接到MySQL。

回答

1

不是一个好主意,但如果你真的需要这样做,使用BLOBs(一种数据类型)。

http://dev.mysql.com/doc/refman/5.0/en/blob.html

+0

该数据库将有超过1000个条目。这会减缓查询。 – 2011-06-07 09:27:26

+0

是的,它的基础将是巨大的。无论如何,您可以将加密文件保存在数据库之外(例如文件系统中的某个地方)。这不应该影响安全性。 – genobis 2011-06-07 09:30:35

+1

感谢您的回答。 – 2011-06-07 09:38:43

0

您可以使用BLOB数据类型的字段,其中把原始数据(加密的) - 不过,我不建议 - 当你有全表扫描,您查询会很慢

+0

有没有其他有效的方法。 – 2011-06-07 09:27:57

+0

如果明智地做到了,这实际上可以工作。这样的数据库可以快速增长,而且更糟糕。但我们不知道这个情况,似乎他已被警告,所以... – genobis 2011-06-07 09:28:55

+0

感谢您的回答。 – 2011-06-07 09:39:14

1

是的,不要将图片插入到数据库表中。它降低了易管理性。而且,当数据库增加时,性能显着下降。让DBMS管理数据并让文件管理系统管理文件。 更好的是,一旦找到有效的用户,将图片保存在桌子上,然后只能从文件夹中检索图像。

+0

但我如何加密图片。 – 2011-06-07 09:30:30

+0

你问的问题太多了。这不是一个论坛主题。你的问题(如何在MySQL中保存图片)已被回答。 Google寻求答案或将其他问题作为新问题发布。 – genobis 2011-06-07 09:32:50

+0

@JKAUSHALYA,你为什么需要以任何方式加密图片?加密可以在低级别上完成,我猜...可能会使用谷歌搜索可能会找到更好的结果。可能是这样的问题http://stackoverflow.com/questions/4348263/encrypting-a-plain-text-file-in-c可以让你抬头。 – Starx 2011-06-07 09:40:03