将文件(odt 或 docx)解压缩到内存流中
我一直在使用 Asp.Net 开发一个 Web 应用程序,并且使用 SharpZipLib 来处理 odt 文件(来自 Open Office)和未来的 docx 文件(用于 ms office)。我需要打开一个 odt 文件(如 zip 文件),更改其中的 xml 文件,再次压缩并将其提供给浏览器发送给我的客户端。
我可以在文件系统中执行此操作,但它会暂时在我的磁盘中获得一个空间,而我们不需要它。我想在内存中执行此操作(使用 MemoryStream 类),但我不知道如何使用 SharpZipLib 解压缩内存流中的文件夹/文件,更改并使用它再次压缩。有关于如何执行此操作的示例吗?
谢谢
I have been developing an web application with Asp.Net and I'm using SharpZipLib to work with odt files (from Open Office) and in the future docx files (for ms office). I need to open an odt file (like a zip file) change a xml file inside it, zip again and give it to the browser send to my client.
I can do this in file system but it will get a space in my disk temporarily and we don't want it. I would like to do this in memory (with a MemoryStream class), but I don't know how to unzip folders/files in a memory stream with SharpZipLib, change and use it to zip again. Is there any sample about how to do this?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用类似
Edit :: 的
内容,您通常需要解压缩文件,获取 ZipEntry ,更改并使用 MemoryStream 写入 ZipOutputStream 。
使用这篇文章 http://www.codeproject.com/KB/cs/Zip_UnZip.aspx< /a>
You can use something like
Edit ::
You need in general unZip your file, get ZipEntry , change , and write in ZipOutputStream with MemoryStream.
Use this article http://www.codeproject.com/KB/cs/Zip_UnZip.aspx