2015-10-05 76 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文件或響應流。