gpt4 book ai didi

jsp - java servlet中的iText图像

转载 作者:行者123 更新时间:2023-12-03 21:46:51 25 4
gpt4 key购买 nike

我正在使用 java servlet 中的 iText (pdf/rtf) 生成字母,但在访问图像时遇到了问题。图像位于 WebContent/images 文件夹中。当我在本地服务器上运行它并指向图像目录的完整路径(c://eclipse/myproject/WebContent/images/letterHead.jpg)它的工作,但它无法在服务器上运行目录(“WebContent/图像/letterHead.jpg”)。

该项目作为 WAR 部署在 tomcat 服务器上,因此最终的地址类似于

http://someserver:8081/projectName/someJSP.jsp

我不明白如何在这种环境中相对引用图像,任何帮助将不胜感激。

这是我的代码
Image imghead = Image.getInstance("WebContent/images/letterHead.jpg");
imghead.setAbsolutePosition(35,770);
imghead.scaleAbsolute(125, 42);
document.add(imghead);

最佳答案

你不应该在 java.io 中使用相对路径东西。您将依赖于当前工作目录,在 web 应用程序的情况下这是无法控制的。始终使用 绝对 磁盘文件系统路径。因此,c:/full/path/to/file.ext .

您可以使用 ServletContext#getRealPath() 将相对 Web 路径转换为绝对磁盘文件系统路径。相对 Web 路径 Root 于公共(public) webcontent 文件夹,在您的情况下是 /WebContent .因此,您需要将上述代码的第一行替换为:

String relativeWebPath = "/images/letterHead.jpg";
String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
Image imghead = Image.getInstance(absoluteDiskPath);
// ...

关于jsp - java servlet中的iText图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385606/

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