【发布时间】:2014-08-12 17:05:51
【问题描述】:
我正在尝试使用 c# 从 web 服务下载 zip 文件并在内存中提取一个条目,但是当我尝试读取流时,dotnetzip 文档中的内容如何,我得到异常“此流不支持“ZipFile.Read(stream)”部分中的寻求操作”。
谁能告诉我我做错了什么?提前致谢
urlAuthentication="https://someurl/?login=foo&token=faa"
var request = (HttpWebRequest)WebRequest.Create(urlAuthentication);
request.Proxy = WebRequest.DefaultWebProxy;
request.Credentials = System.Net.CredentialCache.DefaultCredentials; ;
request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
using (var ms = new MemoryStream())
{
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream =response.GetResponseStream())
{
using (ZipFile zipout = ZipFile.Read(stream))
{
ZipEntry entry = zipout["file1.xml"];
entry.Extract(ms);
}
}
}
}
【问题讨论】:
-
其中的 zip 文件和 xml 的示例大小是多少?除了目标 xml 文件之外,zip 还包含很多内容吗?如果您将整个 zip 文件读入
MemoryStream或byte[],然后将其提供给ZipFile类,也许会更容易。 -
@TimS。 zip 文件大小为 17kb,分别有 182kb 和 25.3kb 两个文件(我要访问的条目是 182kb 之一)
标签: c# web-services dotnetzip