【问题标题】:Not able to display images from local directory like F: OR from application webapp folder in Spring web Application?无法显示来自本地目录(如 F: 或 Spring Web 应用程序中的应用程序 webapp 文件夹)中的图像?
【发布时间】:2013-01-20 04:57:51
【问题描述】:

我正在创建一个 Spring Web App ,其中我在本地目录中上传了图像。但是在 jsp 上显示时,它无法显示本地目录或 webapp/profile_pics 文件夹中的图像。这两个选项我都试过了?

我的 Jsp 代码:

      <img src="F:/image.jpg"/>
      <img src="${pageContext.request.contextPath}/profile_pics/${profilePicName}"/>

【问题讨论】:

  • 页面上正在生成的图片的url是什么?
  • @Jeff Storey :文件在本地目录中,该路径存储在数据库中。一切安好。当我查看 jsp 页面的视图源时,图像就在那个位置。

标签: java spring


【解决方案1】:

出于安全原因,无法从 Web 服务器访问本地文件图像。想象一下,如果另一台服务器上的网页引用了 C:\myfile,并且他们在您的机器上运行它。

图片应该在您的网络服务器可以访问的地方。尝试将它放在你的 webapps 目录中,然后你的 jsp 应该能够使用 URL(相对或绝对)访问它。

如果 html 页面是从文件加载的(而不是在服务器上),&lt;img&gt; 需要一个 URL,它应该是 file://F:/image.jpg 有关 URL 格式,请参见 https://superuser.com/questions/352133/what-is-the-reason-that-file-urls-start-with-three-slashes-file-etc。我怀疑情况并非如此,因为您提到它是一个 jsp。

【讨论】:

  • 哦,如果是在服务器上运行的jsp页面,并且文件是本地的,就不能访问了(安全原因)。这只有在页面也在本地机器上运行时才有效。
  • 我尝试了另一种选择。我将图像保存在应用程序的 webapp/profile_pics 文件夹中,但这也不起作用。有人说这是令人耳目一新的问题。我花了 2 天时间在 jsp 页面上显示图像,但还没有成功..
  • 一旦它位于 webapp/profile_pics 文件夹中,您将如何尝试访问它?当它在 Web 服务器上时,您需要使用 URL 访问它,因此它可能类似于 /profile_pics/myimg.jpgprofile_pics/myimage.jpg,具体取决于您是否需要相对引用。
  • 就像在 jsp 页面上:
  • 页面生成时生成的URL是什么样的?验证 url 是否有效。
猜你喜欢
  • 2016-12-14
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 2021-10-24
相关资源
最近更新 更多