我尝试使用Eclipse从java方法将图像插入HTML文件。 当我将项目导出到Runnable jar时,图像不会出现。
我在互联网上搜索了很多,我做了一个资源文件夹,但它没有用。
SRC
--test4
----IHM2.java
----test4.java
--res
---- logo2.png
public class IHM2
{
private File htmlFile;
private FileWriter fw;
private BufferedWriter writer;
public IHM2() throws IOException {
htmlFile = new File("IHM2.html");
fw = new FileWriter("IHM2.html");
writer = new BufferedWriter(fw);
}
public void HTML_opening() throws IOException
{
writer.write("<html>");
writer.write("<head>");
writer.write("</head>");
writer.write("<body>");
writer.write(" <img src='res/logo2.png'>");
}
public void HTML_closing() throws IOException
{
writer.write("</body>");
writer.write("</html>");
writer.close();
Desktop.getDesktop().browse(htmlFile.toURI());
}
}
任何人请给我一个答案?
解决方案:
我把writer.write(" <img src='./logo2.png'>");
因为我查看了.jar文件,logo2.png不在文件夹test4中。
答案 0 :(得分:0)
在jar内检查,你有logo2.png
吗?
如果没有,在从eclipse导出jar作为可运行的jar时,使用单选按钮“将所需的包打包到生成的jar中”。如果res文件夹是源文件夹,则png图像将被复制到根目录中。
因此,您只需使用res/logo2.png
logo2.png
答案 1 :(得分:0)
使用jar文件移植html的最佳方法可能是将其转换为base64数据。
您可以通过以下链接获取图片的base64:
按照说明操作并获取图像代码。上传图片后,获取代码并在src =“”标记中使用。
否则,如果你想要显示html,你必须在它旁边有图像。
有关详细信息,请查看: Embedding Base64 Images
您还可以使用以下方法找到直接从java转换图像的方法:
Java - Convert image to Base64
最后, 如果你有兴趣在资源中使用罚款,在你的jar以外的地方,你必须将它们保存到你的硬盘中,这样它们就可以被其他应用程序访问,然后你就可以用任何程序打开它了。
检查一下:
How to correctly get image from 'Resources' folder in NetBeans