2015-10-05 64 views
1

到.mhtml我有一个文件夹中生成一些报告.html,想多.html.css.js和图像文件转换成一个report.mhtml文件,以便单个文件可以作为Web服务来访问。转换.html文件使用Java API

是否有任何Java API将.html文件的文件夹转换为单个.mhtml文件?

+0

对于图像,这可能会变得非常复杂和讨厌,因为它们需要编码为base64(二进制文件的字符串表示形式)。特别是对于大型图像文件,生成的html文件会变得很大,并且在某些浏览器中可能会出现性能问题。 –

回答

0

我正在研究相反的问题(将MHTML/EML解包到文件中),虽然似乎没有简单的基于Java的实用程序来执行此操作,但我发现Apache Mime4J库非常有用(并且比JavaMail的)。

你可以找到我这里分享代码:How to read or parse MHTML (.mht) files in java

对于你的情况,建立一个MHTML,如果你不能找到任何简单的,方法可以是:

  1. 创建一个Message对象它有一个多部分主体。
  2. 使用Streams读取文件夹中的所有文件,将它们作为Multipart的BodyParts与它们的mime类型(Mime4j包含Base64流编码器/解码器)一起附加。
  3. 确保html页面中的引用指向必要的正文部分(可能能够将其原始文件名作为引用嵌入?)。
  4. 将消息对象写入mht文件或响应流。