【问题标题】:Java solution for upload and store images in javajava中上传和存储图片的java解决方案
【发布时间】:2011-12-23 09:44:58
【问题描述】:

在我使用 primefaces+SpringWebflow 的 Web 应用程序中。我需要添加一张扫描或上传给每个注册客户的图片。我想不出任何好的解决方案来存储文件。标准就是这样。 我希望只有应用程序可以访问文件,并且不能直接访问图像。 我试图将文件存储在数据库中,但这不是一个好主意。我将路径存储在数据库中。 我想有文件的相对路径。和有效的方式来访问文件。

【问题讨论】:

    标签: java file file-upload


    【解决方案1】:

    只需将文件存储在数据库中。如果您尝试将它们放在其他地方,则很难将您的应用程序从一台服务器迁移到另一台服务器,因为它的数据将分布在多个来源。升级将更加困难。

    如果性能/数据库大小成为问题,请重新考虑此决定,但请确保始终衡量而不是猜测性能。

    【讨论】:

    • 问题不在于性能。我有一个扫描解决方案,我从一个 url 读取文件。当我读取字节并将其存储到数据库时,文件有时会被修改。另一个问题是当我想显示图像时,我需要从数据库中读取字节并将其存储在文件中到磁盘然后显示它。这并不总是一个简单的解决方案。 Primefaces 具有显示来自 bean 的文件的功能,但它在 Spring webflow 中不起作用。另一个问题是当我将数据库备份到 sql 中时。 sql 文件中的字节看起来不太好。
    • 您能否更新问题并提供更具体的细节?
    • 如果我将图像存储到数据库,那么当我想检索并显示它时。我需要将它读入一个临时文件并显示它。有没有更好的解决方案?
    • 您可以创建一个特殊的 servlet 或 JSP 页面来仅提供图像。看看这个答案stackoverflow.com/a/3846095/116509
    【解决方案2】:

    为什么将文件存储在 DB 中不是一个好主意? 当您在集群服务器环境中部署应用程序时会发生什么?在集群服务器环境中,将图像保存在文件系统上的解决方案将不起作用。 您需要更多地考虑将图像存储在数据库中。只需调查您在数据库中存储/检索图像时受到的性能影响。尝试不同类型的存储框架,例如 nosql DB。从本质上讲,我认为您无法将数据存储在中心位置。

    【讨论】:

    • 有没有比将图像检索到文件系统并显示它更好的解决方案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多