我一直在使用 Windows Azure 创建文档管理系统,到目前为止一切进展顺利。我已经能够通过 asp.net 前端将文件上传和下载到 BLOB 存储。
我现在尝试做的是允许用户上传 .zip 文件,然后从该 .zip 中取出文件并将它们另存为单独的文件。问题是,我收到“ZipException 未处理”“ header 中的 EOF”,我不知道为什么。
我正在使用 ICSharpCode.SharpZipLib 库,我已经将它用于许多其他任务并且效果很好。
这是基本代码:
CloudBlob ZipFile = container.GetBlobReference(blobURI);
MemoryStream MemStream = new MemoryStream();
ZipFile.DownloadToStream(MemStream);
....
while ((theEntry = zipInput.GetNextEntry()) != null)
它位于以 while 开头的行上,我收到错误。我添加了 10 秒的 sleep 时间,只是为了确保已经过去了足够的时间。
如果我调试它,MemStream 有一个长度,但 zipInput 有时有,但并非总是如此。它总是失败。
最佳答案
只是一个随机猜测,但是在读取之前是否需要将流寻回0?不确定您是否已经这样做了(或者是否有必要)。
关于azure - 上传 zip 文件时 Windows Azure 中出现错误 : "ZipException was unhandled" "EOF in header",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547481/