【问题标题】:Uploading an image to the server or database?将图像上传到服务器或数据库?
【发布时间】:2011-10-26 23:53:53
【问题描述】:

我正在尝试为 Web 应用程序的用户实现“个人资料页面”。 我希望用户能够为他们的个人资料上传图片。

我的问题是这应该如何实现?

我应该将数据库中的图像作为 blob 上传,还是将图像上传到服务器并将路径存储在数据库中?

对于用户个人资料,图像的最佳尺寸应该是多少?

我正在使用以下内容。 1.mysql 5.5.11 2. 春天 3 3. 休眠

您的帮助将不胜感激。

问候 阿多福

【问题讨论】:

  • 你应该去接受更多关于你之前问题的答案,所有这些都已经得到了回答。此外,请考虑对您在本网站上遇到的问题和答案给予支持(并酌情反对)。这样做会让您更有可能收到问题的答案。

标签: hibernate spring web-applications jakarta-ee


【解决方案1】:

Mysql中blob数据类型的目的是完成“将图像存储在数据库中”。如果您的图像数量较少(可以说

希望对你有帮助..

【讨论】:

  • Blob 不是仅图像字段。二进制大对象:它甚至可以只是一堆文本。此外,从数据库中检索图像不会“冻结数据库”。 MySQL,默认情况下是 InnoDB,在读取时持有共享锁,这样读取相同记录的另一个事务被授予立即访问权限。虽然不会立即授予对已使用共享访问锁定的行请求的排他锁。 goo.gl/tBdTN
【解决方案2】:

将图像作为文件存储在您的服务器上,并将图像 ID 或路径存储在您的数据库中。如果你这样做,你只需要为已删除的用户做更多的文件清理工作。 40-80K 的 JPEG 图像大小是“个人资料图片”的合理目标。对此的真正限制是您的服务器性能和流量。

【讨论】:

    【解决方案3】:

    我从这两个方面都听说过存储图像的争论,并且在过去一直想知道自己。我个人喜欢存储在数据库中的想法。我觉得出错的空间更小了(即,不小心删除了图像目录位置并且您的图像/数据库条目变得不同步。

    我认为不超过 100 或 150 像素宽的个人资料图片对于 72 dpi 就足够了。您可以要求上传的内容为这些维度,也可以接受任何内容并通过“预览”为他们处理在新维度中保存图片的样子。

    只是我的想法。

    【讨论】:

      猜你喜欢
      • 2014-04-27
      • 1970-01-01
      • 2010-12-08
      • 2016-11-05
      • 2015-07-11
      • 2022-09-26
      • 1970-01-01
      • 2023-03-10
      • 2011-08-11
      相关资源
      最近更新 更多