Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从服务器端下载zip文件并解压缩到特定文件夹(.net 4.0)_C#_Download - Fatal编程技术网

C# 从服务器端下载zip文件并解压缩到特定文件夹(.net 4.0)

C# 从服务器端下载zip文件并解压缩到特定文件夹(.net 4.0),c#,download,C#,Download,我正试图编写一个代码片段,从服务器端下载一个zip文件,然后将其解压缩到一个特定的文件夹中 下面是类似的内容,但函数ZipFile.Read总是抛出一个异常“不能将其作为ZipFile读取”,请您提供建议或其他解决方案 我使用的是.NET4和Ionic,使用.NET4.5和更高版本更容易。 但我需要使用.NET4.0实现这一点 多谢各位 var url=”http://localhost:30478/zip/TESTSERVICE.exe.zip"; 使用(var client=new WebC

我正试图编写一个代码片段,从服务器端下载一个zip文件,然后将其解压缩到一个特定的文件夹中

下面是类似的内容,但函数ZipFile.Read总是抛出一个异常“不能将其作为ZipFile读取”,请您提供建议或其他解决方案

我使用的是.NET4和Ionic,使用.NET4.5和更高版本更容易。 但我需要使用.NET4.0实现这一点

多谢各位

var url=”http://localhost:30478/zip/TESTSERVICE.exe.zip";
使用(var client=new WebClient())
{
client.DownloadDataCompleted+=(发件人,e)=>
{
var inputStream=新的内存流(例如结果);
inputStream.Seek(0,0);
var iszip=ZipFile.IsZipFile(inputStream,false);
var zipfile=zipfile.Read(inputStream);
};
DownloadDataAsync(新Uri(url,UriKind.RelativeOrAbsolute));
}

iszip的值是多少?如果它告诉您该文件不是zip文件,则
ZipFile.Read
可能会失败。您确定该文件是有效的zip文件吗?是的,iszip始终为True,如果改用ZipFile.Read(文件),它可以正常工作。类似ZipFile.Read(@“C:\\TESTSERVICE.exe.zip”)的东西哦,我更改了这个MemoryStream(e.Result,0,e.Result.Lenght),它可以工作