writerperfect/source/writer/EPUBPackage.cxx | 9 +++++++++ 1 file changed, 9 insertions(+)
New commits: commit 06283dcba13ee18716da9eee728210a00bcb5b97 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Aug 8 09:16:04 2017 +0200 EPUB export: write mime type libepubgen won't emit calls on the package interface to do this, it turns out. Change-Id: Ib9826f1df348fd7afbccdc5d5a92a6d94f8aa9af Reviewed-on: https://gerrit.libreoffice.org/40862 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/writerperfect/source/writer/EPUBPackage.cxx b/writerperfect/source/writer/EPUBPackage.cxx index 060c3828a4de..bf9c03089708 100644 --- a/writerperfect/source/writer/EPUBPackage.cxx +++ b/writerperfect/source/writer/EPUBPackage.cxx @@ -28,6 +28,15 @@ EPUBPackage::EPUBPackage(const uno::Reference<uno::XComponentContext> &xContext, auto xStream = aMediaDesc.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_STREAMFOROUTPUT(), uno::Reference<io::XStream>()); const sal_Int32 nOpenMode = embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE; mxStorage.set(comphelper::OStorageHelper::GetStorageOfFormatFromStream(ZIP_STORAGE_FORMAT_STRING, xStream, nOpenMode, mxContext), uno::UNO_QUERY); + + // The zipped content represents an EPUB Publication. + mxOutputStream.set(mxStorage->openStreamElementByHierarchicalName("mimetype", embed::ElementModes::READWRITE), uno::UNO_QUERY); + const OString aMimeType("application/epub+zip"); + uno::Sequence<sal_Int8> aData(reinterpret_cast<const sal_Int8 *>(aMimeType.getStr()), aMimeType.getLength()); + mxOutputStream->writeBytes(aData); + uno::Reference<embed::XTransactedObject> xTransactedObject(mxOutputStream, uno::UNO_QUERY); + xTransactedObject->commit(); + mxOutputStream.clear(); } EPUBPackage::~EPUBPackage() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits