当前位置: 首页 > 知识库问答 >
问题:

在JSP中用绝对路径显示图像

仉洲
2023-03-14

标记的src中传递的图像路径有一些问题。

在我的数据库中,我有用户图像的Linux绝对路径。我得到这个值并放入“src”属性中。

我有一个路径,例如:

    null

我需要知道的是我要做什么?

我必须改变Jetty的配置吗?我必须用Java运行一些代码吗?

通过谷歌搜索,我变得更加困惑。我想要个解释。

谢谢你,巴卢斯!豪豪乌豪阿

共有1个答案

夏理
2023-03-14

实际上,必须引用公共web URL,而不是本地磁盘文件系统路径。您的图像必须通过HTTP请求可用。也就是说,webbrowser必须下载它们,而不是webserver必须以某种方式包含它们。

对于初学者来说,最简单的方法是创建一个servlet,它根据请求参数或路径信息通过FileInputStream获取图像内容为InputStream,然后以通常的Java IO方式将其写入HttpServletResponseOutputStream,以便浏览器了解如何处理它。

例如,假设servlet映射到/images/*上,并且打开图像为http://example.com/contextpath/images/image1.png:

String filename = request.getPathInfo();
File file = new File("/home/website/images", filename);

response.setHeader("Content-Type", getServletContext().getMimeType(filename));
response.setHeader("Content-Length", String.valueOf(file.length()));

InputStream input = new FileInputStream(file);
OutputStream output = response.getOutputStream();
// Stream bytes the usual way.

另一种方法是将/home/website/images作为新的web应用程序上下文添加到服务器,上下文路径为/images。这样,图像可以通过http://example.com/images/image1.png获得,您只依赖于servletcontainer make/version,如何配置它,以及您是否拥有对它的完全管理控制权。对于Jetty,如果您以编程方式管理它,将会是以下情况:

server.setHandler(new WebAppContext("/home/webapp/images", "/images"));

或者当您通过XML管理它时:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="resourceBase">/home/website/images</Set>
    <Set name="contextPath">/images</Set>
</Configure>
 类似资料:
  • 在web.xml中,servlet条目如下所示, 在Jsp中,我有如下img标记, 我想我在img标记的src属性上犯了错误,谁能说出我在这里犯的错误。

  • 我创建了一个动态web项目,以便通过Servlet显示JSP(我不能使用任何类似Spring的框架…)。默认情况下,我构建的类放在Build/classes中,因此在我将输出文件夹更改为WebContent/WEB-INF/classes后,我的应用程序运行良好。之后,我将该项目转换为Maven项目。(我不记得我上次使用servlet/JSP时需要更改输出文件夹,那是3年前!)。 无论如何,现在我

  • 我已经尝试通过 和 这个问题是因为我放置图像的位置层次结构吗?

  • 问题内容: 如果使用绝对路径,则无法将整个目录移动到新位置。如果使用相对路径,则无法将单个文件移动到新位置。 这里有什么解决方案?您是否设置了一个包含根路径并从那里开始的配置文件?还是您有类似的规则:永不移动文件? 我在某些项目中看到人们使用dirname( FILE )。我的意思是,为什么不简单地将其删除,因为目录名还是相对的(取决于文件所在的位置)? 问题答案: 您应该使用一个配置文件,该配置

  • 我已成功将图像上载到我的上载目录。这就是结构 公共网页- 现在,我在DB记录中存储的路径是: ./上传/上传图片。gif 但当我这么做的时候: 它仍然没有显示任何东西。图像路径内容为/上传/上传图片。gif。 我正在尝试将图像加载到位于以下位置的视图中: 公共网页- 我会非常感激你的帮助。

  • 主要内容:什么是当前工作目录,什么是绝对路径与相对路径,Python处理绝对路径和相对路径在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。 什么是当前工作目录 每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。 注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。 在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字