Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一种在sql数据库中存储图像的方法_Java_Image_Jsp_Servlets - Fatal编程技术网

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

Java 一种在sql数据库中存储图像的方法,java,image,jsp,servlets,Java,Image,Jsp,Servlets,我正在尝试将映像存储在服务器上的sql中。稍后我想让这些图片可以下载。哪种方法好: 通过上传图像和保存路径。 或 2.通过将图像转换为base64,然后存储为BLOB类型 如果主要考虑的是安全性,则将图像存储在DB的blob中,或者如果图像不太敏感,则将其存储在特定目录中,然后将其路径存储在DB中 因为DB存储为它提供了额外的安全性 如果我们将其存储在目录中,那么如果有人尝试了一些访问该目录的技巧,就可以访问它 所以,若我们将其存储在目录中,那个么应该对文件进行适当的处理。 因为如果有人上传文件

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

  • 通过上传图像和保存路径。 或 2.通过将图像转换为base64,然后存储为BLOB类型

  • 如果主要考虑的是
    安全性
    ,则将图像存储在
    DB
    blob
    中,或者如果图像不太敏感,则将其存储在特定目录中,然后将其路径存储在
    DB

    因为
    DB存储为它提供了额外的安全性

    如果我们将其存储在目录中,那么如果有人尝试了一些访问该目录的技巧,就可以访问它

    所以,若我们将其存储在目录中,那个么应该对文件进行适当的处理。 因为如果有人上传文件,然后另一个人以
    相同的名称存储它,那么文件
    覆盖的可能性就很小了

    因此,您可以这样做,在表
    中取
    2个字段
    ,一个是原始名称
    一个是具有原始名称加上文件上载时间戳的新名称
    ,并将其存储在目录中

    如果您将其存储在DB中,则不需要额外的工作

    是的,目录中图像的分叉也很困难,假设在一年内有这么多的文件将被存储在目录中,那么索引和访问就变得很麻烦了。
    因此,应用一些机制,以便在某个时间间隔内可以分离图像。

    我认为这是一种折衷,而且这在很大程度上取决于您的网络连接,我会将图像保留在云中,只保留数据库中的一个键


    这将大大减少磁盘使用量,甚至可能允许将整个数据库缓存到ram中,从而平衡从网络检索相关信息所需的额外时间。。如果解决了你的问题,那么接受任何人,这样其他人就不会看到你解决了一个问题。。保持微笑……)