我一直在使用 Windows Azure 创建一个文档管理系统,到目前为止一切顺利。我已经能够通过 asp.net 前端将文件上传和下载到 BLOB 存储。
我现在尝试做的是允许用户上传 .zip 文件,然后将文件从 .zip 中取出并将它们保存为单独的文件。问题是,我得到“ZipException was unhandled”“EOF in header”,我不知道为什么。
我正在使用 ICSharpCode.SharpZipLib 库,该库已用于许多其他任务,并且效果很好。
这是基本代码:
CloudBlob ZipFile = container.GetBlobReference(blobURI);
MemoryStream MemStream = new MemoryStream();
ZipFile.DownloadToStream(MemStream);
....
while ((theEntry = zipInput.GetNextEntry()) != null)
它就在我收到错误时开始的那一行。我添加了 10 秒的睡眠持续时间,以确保有足够的时间过去。
如果我调试 MemStream ,它有一个长度,但 zipInput 有时会,但并非总是如此。它总是失败。