gpt4 book ai didi

jsf-2 - Jsf 2.0 显示位于本地目录的图像

转载 作者:行者123 更新时间:2023-12-04 00:40:39 25 4
gpt4 key购买 nike

我正在尝试显示放置在我机器上某个文件夹中的图像。我有一个 xhtml 页面,我想在该页面上显示图像。

我试过使用 <h:graphicImage value="C:/images/abc.jpg" />以及纯 HTML 标签 <img src="C:/images/abc.jpg" />但以上均无效。

此外,我已经尝试将图像放在 WebContent 中并尝试从那里访问它,但仍然是徒劳的。我哪里出错了?

我正在使用 Jboss AS 7.0

最佳答案

如果你想访问 webContent 之外的图像,你需要做更多的工作。基本上您有三种选择:使用 servletPrimeFacesOmniFaces。这个问题也在这里得到了回答:

Load images from outside of webapps / webcontext / deploy folder using <h:graphicImage> or <img> tag

我过去也遇到过同样的问题,我通过使用 servlet 解决了它。我是这样定义的

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;

@WebServlet("/images/*")
public class ImageServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String filename = request.getPathInfo().substring(1);
File file = new File("C:Images/", filename);
response.setHeader("Content-Type", getServletContext().getMimeType(filename));
response.setHeader("Content-Length", String.valueOf(file.length()));
response.setHeader("Content-Disposition", "inline; filename=\"" + filename + "\"");
Files.copy(file.toPath(), response.getOutputStream());
}

然后,如果你想显示 C:/images/abc.jpg 你使用

<h:graphicImage value="/images/abc.jpg" />

它对我来说效果很好。

关于jsf-2 - Jsf 2.0 显示位于本地目录的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com