0

URI(http://www.abc.com/a.zipなど)にzipファイルがあり、ファイルを開いてディスクに保存したいと思います。C#で、ディスクに保存せずにファイルをディスクに保存せずに開く方法はありますか?

ありがとう、

サチン

4

2 に答える 2

4

ZipFile .NetFramework4.5クラスまたはDotNetZipAPIを使用します。

ZipFile.ExtractToDirectory(zipPath, extractPath);

編集:WebClientクラスのメソッドを介して、ストリームを準備したり、URLのバイト配列を取得したりできます。

string urlStr = "https://xyz.com/sample.zip";

 using (WebClient client = new WebClient())
  {
   byte []bytes=client.DownloadData(urlStr);
   using (MemoryStream ms = new MemoryStream(bytes))
   {
    using (ZipFile zip = ZipFile.Read(ms))
    {
     zip.ExtractAll(@"C:\csnet");
    }
   }
 }
于 2012-08-23T10:08:58.447 に答える
3

DotNetZipを使用してアーカイブをファイルシステムに保存せずにzipファイルを抽出する例。

private static void ExtractFromUrl(Uri uri, string directoryPath)
{
    using (var webClient = new WebClient())
    {
        var data = webClient.DownloadData(uri);
        using (var memoryStream = new MemoryStream(data))
        using (var zipFile = ZipFile.Read(memoryStream))
        {
            zipFile.ExtractAll(directoryPath);
        }                
    }
}
于 2012-08-23T10:44:58.980 に答える