Я использую библиотеку C# DotNetZip (Ionic.Zip и Ionic.Zlib) для создания книги из каталога. Каталог выглядит следующим образом:Файл mimetype имеет дополнительное поле длины n. Использование функции дополнительного поля в формате ZIP не разрешено для файла mimetype
BookName
|
|___content/
| images/
| css/
| (html pages, .ops, .ncx)
|
|___META-INF/
| container.xml
|
|___mimetype
Код для создания архива выглядит следующим образом:
using (ZipFile zip = new ZipFile(pathTemp + ".epub"))
{
zip.RemoveSelectedEntries("*.*");
zip.AddFile(mimetype, "").CompressionLevel = CompressionLevel.None;
zip.AddDirectory(pathTemp + "\\content", "content");
zip.AddDirectory(pathTemp + "\\META-INF", "META-INF");
zip.Save();
}
Когда я запускаю его через EPUB Validator, он выдает эту ошибку:
The mimetype file has an extra field of length 36. The use of the extra field feature of the ZIP format is not permitted for the mimetype file.
I 'm не сжимает файл mimetype, поэтому я не знаю, что происходит.
Все, что я сделал - поиск документов с помощью [этого запроса] (https://www.google.co.nz/search?hl=ru&q=site:dotnetzip.herobo.com+extra+field). Может быть полезно для вас в следующий раз;) – torvin