Ag baint úsáide as java.util.zip chun epub bailí a thógáil

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();
7
задан objectivesea 15 August 2011 в 08:10
поделиться