在sql数据库中存储图像的方法

时间:2014-06-17 07:42:45

标签: java image jsp servlets

我正在尝试将图像存储在服务器上的sql中。后来我想让这些图像可供下载。哪种方法很好:

  1. 上传图片并保存路径。 要么 2.将图像转换为base64,然后存储为BLOB类型

2 个答案:

答案 0 :(得分:1)

如果security是主要问题,那么将图像存储在DB blob中,或者如果它不是很敏感,则将其存储在特定目录中,然后将其路径存储在{{ 1}}。

因为DB

如果我们将它存储在目录中,那么如果他们尝试了一些技巧来访问目录,则有人可以访问它。

所以,如果我们将它存储在目录中,那么应该完成DB storage give it extra security文件。 因为如果有人上传文件,那么其他人就会以proper handling存储文件same name的可能性。

所以你可以在表overwrite2 fields中执行one is original name,并在目录中将其与one is new name that have original name plus the timestamp of file upload一起保存。

如果您将其存储在数据库中,则不需要额外的工作。

是的,目录中图像的分叉也很难,假设在一年内会有很多文件存储在其中,因此索引和访问变得很麻烦。 因此应用一些机制,所以在间隔的某个时间你可以分开图像。

答案 1 :(得分:1)

我认为这是一个权衡,它也很大程度上取决于你的网络连接,我会把图像保存在云中,只是在数据库中保留一个密钥。

它会大量缩减磁盘使用量,甚至可能将整个数据库缓存到ram中,从而平衡进程从网络中检索相关信息所花费的额外时间