2015-10-05 15 views
1

У меня есть несколько сгенерированных .html отчетов в папке и хотите конвертировать несколько .html, .css, .js и графических файлов в один файл report.mhtml так, что один файл может быть доступен в качестве веб-службы ,конвертировать .html файлы .mhtml с помощью 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, добавьте их как BodyParts Multipart с их типом mime (Mime4j включает в себя кодировщик/декодер потока Base64).
  3. Убедитесь, что ссылки на странице html указывают на необходимые части тела (возможно, они могут вставлять исходное имя файла в качестве ссылки?).
  4. Напишите объект Message в файл mht или поток ответов.