From 86fbb8cefe76ded59bd73194e9e976c03537fe93 Mon Sep 17 00:00:00 2001 From: celogeek <65178+celogeek@users.noreply.github.com> Date: Sun, 16 Feb 2025 12:50:01 +0100 Subject: [PATCH] add raw data to zip --- internal/pkg/epubzip/storage_image_writer.go | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/pkg/epubzip/storage_image_writer.go b/internal/pkg/epubzip/storage_image_writer.go index ccec171..e19b3f2 100644 --- a/internal/pkg/epubzip/storage_image_writer.go +++ b/internal/pkg/epubzip/storage_image_writer.go @@ -50,3 +50,24 @@ func (e StorageImageWriter) Add(filename string, img image.Image, quality int) e return nil } + +func (e StorageImageWriter) AddRaw(filename string, uncompressedData []byte) error { + zipImage, err := CompressRaw(filename, uncompressedData) + + if err != nil { + return err + } + + e.mut.Lock() + defer e.mut.Unlock() + fh, err := e.fz.CreateRaw(zipImage.Header) + if err != nil { + return err + } + _, err = fh.Write(zipImage.Data) + if err != nil { + return err + } + + return nil +}