Thóg mé modh a chuireann ábhar fillteáin go hathchúrsach le doiciméad zip leis an síneadh comhaid " epub, "is é sin go bunúsach cad is epub ann seachas rud amháin:
ní mór an chéad doiciméad sa chartlann a bheith ainmnithe" mimetype, "caithfear an cineál a shonrú mar fheidhmchlár / epub + zip, agus caithfidh sé tosú le fritháireamh beart de 38. An bhfuil bealach ann chun an mhíméad a chur leis an gcartlann le fritháireamh 38?
Tá an modh a thóg mé beagnach ag obair. Tógann sé epub ar féidir le mórchuid na r-léitheoirí é a léamh, ach ní bhailíochtaíonn sé. Tugann EpubCheck an earráid seo:
mimetype contains wrong type (application/epub+zip expected)
Is saincheist í seo nach ann don epub tástála bunaidh, ach a léirítear san epub atógtha. Agus rinne mé seiceáil faoi dhó go bhfuil ábhar an chomhaid mimetype unzipped / rezipped ceart.
Tá an modh an iomarca le postáil anseo. Ach seo an méid atá á úsáid agam chun an comhad mimetype a chur leis an gcartlann:
out = new ZipOutputStream(new FileOutputStream(outFilename));
FileInputStream in = new FileInputStream(mimeTypePath);
out.putNextEntry(new ZipEntry("mimetype"));
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.closeEntry();
in.close();
out.close();