我正在开发一个库,将 ODT 文件的特定部分视为迷你报告引擎的 Razor 模板。它解压缩 odt 并修改 content.xml,结果似乎是正确的,但是当我尝试在 LibreOffice 中打开时,重新压缩的文件给了我一个“一般 I/O 错误”。
目前我正在使用 C# 的 ZipFile.CreateFromDirectory() 方法来创建 zip 文件。我是否需要在将文件压缩在一起方面做一些特别的事情,或者我的错误更有可能在其他地方?
显然,我首先想到检查 mimetype 文件。我已经确认将文件组视为单个 zip 存档而不压缩它们 (compressionlevel.none) 不起作用,并给出相同的错误。我猜这可能是因为 mimetype 文件必须是存档中的第一个文件。这真的是问题吗?我能做的更好吗?