我在 Liferay portlet 中生成 .svg 文件,并将它们保存在位于服务器(JBoss AS)上的 svg 文件夹中。这些文件生成并保存在 .java 类中,如下所示:
private void saveSVG(Document doc, String fileName) {
// save svg to file
try {
File file = new File("svg/" + fileName + ".svg"); // make file
PrintWriter writer;
writer = new PrintWriter(new FileOutputStream(file)); // write and
// save file
DOMUtilities.writeDocument(doc, writer);
writer.flush();
writer.close();
System.out.println("File path: " + file.getPath());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
该文件保存在 server/bin/svg 目录中。但是当我尝试访问我的 .jsp 页面中的文件时,它似乎找不到该文件(它可能在另一个目录中查找)。我怎样才能告诉它,所需的文件在哪里?我可以使用绝对路径,将其存储在某处并将其传递给 .jsp 页面,但这似乎不是非常优雅的解决方案。
<object data="svg/topBar.svg" type="image/svg+xml"></object>
或者如何将文件保存到 .jsp 页面将使用上面的代码找到它的相对路径?
谢谢你的帮助!
编辑:“topBar.svg”显然是我在这个例子中使用的文件名