【问题标题】:Save image and retrieve it to velocity template保存图像并将其检索到速度模板
【发布时间】:2023-03-21 23:18:01
【问题描述】:

我在我的应用程序中使用 spring 2.5 + velocity。我需要上传一张图片并检索它。

我只需要将 url 保存在数据库中,而不是实际的图像。

如何实现这一要求,使其在生产环境中也能正常工作。

我按照以下方式做了,但我无法检索图像。

我上传了图像并将其保存到本地磁盘的本地文件夹中。(D:/..) 在速度模板中,我将 img src 定位到图片位置(即:D:/..) 并且,我可以使用 firebug 看到图片,但浏览器不显示图片。

请帮助我找到实现此功能的有效方法。

谢谢

【问题讨论】:

  • 简单地说,如何将图像作为文件存储在文件系统中,并在表中创建具有该图像确切路径的记录。以及如何在ui中显示回来。我通过将图像存储在“D:/home”中来做到这一点,但是在检索 img 标签时没有检测到来自本地磁盘的 url

标签: image spring velocity


【解决方案1】:

假设您所有的图片都位于同一个可通过网络访问的文件夹中(您可以通过http:// 访问它,例如http://example.com/images/),您应该只将图像文件名保存到数据库中,例如image.jpg

之后,您可以通过附加图像文件夹 url(通常存储在配置文件中)和来自 db 的文件名来构建图像 url 以供显示。

所以最后会是这样的:

<img src="${imgRootUrl}${filename}"> 

【讨论】:

  • 感谢您的回复。您的答案与应用程序处于生产环境时有关。但是当在本地机器上工作时,我怎么能做到这一点?正如我提到的,我可以将图像保存在 localDisk D:/home 位置。但无法从同一位置检索图像(
  • @Shekar 通常在开发时,您需要在 localhost 上运行一个 Web 服务器,以便您可以看到该网站。如果您没有,那么您可能应该安装它。
  • 感谢您的回复。我有一个网络服务器。我启动了服务器并运行了应用程序。我将图像上传到本地磁盘。在检索时,我面临着这个问题。那么,ypu 是否建议将图像保存到网络服务器?但是当我重新启动时,我会丢失以前保存的图像..对吗?
  • @Shekar Webserver 链接到某个根目录。可以说它是d:/www/。这意味着如果您访问http://localhost/page.html,网络服务器将为您提供d:/www/page.html。使用您的图像,您只需将它们放在网络服务器根文件夹下,例如放入d:/www/images/,这样您就可以通过http://localhost/images/ 访问它们。
猜你喜欢
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 2018-07-05
  • 2021-03-20
相关资源
最近更新 更多