2012-04-02 13 views
-2

でジップ..私はzipファイルを作成し、私はちょうど後にそれをダウンロードするとき、それが壊れているので、私はそれを開くことができない理由私が実際に疑問に思ってC#の

を作成します。これは私が実際に使用していたコードです。

 string url = ((LinkButton)sender).Tag; 
     var downloadFileName = string.Format(((LinkButton)sender).ID + ".zip"); 
     System.IO.DirectoryInfo di = new System.IO.DirectoryInfo("C://inetpub//wwwroot//Files//Wireframes//" + url); 

     using (ZipFile zip = new ZipFile()) 
     { 
      zip.AddEntry("C://inetpub//wwwroot//Files//Wireframes//" + url, zip.Name); 
      zip.AddDirectory("C://inetpub//wwwroot//Files//Wireframes//" + url); 
      zip.Save(downloadFileName); 
     } 


     Response.ContentType = "application/zip"; 
     Response.AddHeader("Content-Disposition", "filename=" + downloadFileName); 

また、すべてのディレクトリにファイルを直接追加しています。

+1

何が壊れているのですか? –

+2

あなたの文字列フォーマットは何もしません。 –

+1

あなたのuriに混在しているスラッシュは何ですか? ( '//'と '\\')? – RQDQ

答えて

4

実際のデータは送信していません。

Response.ContentType = "application/zip"; 
Response.AddHeader("Content-Disposition", "filename=" + downloadFileName); 
Response.TransmitFile(downloadFileName); 
Response.End(); 
+0

zip.saveが動作していないかのように、ファイルを見つけることができないという。しかしそれは良い道だ。 – Kiwimoisi

+1

TransmitFile()の呼び出しで、ファイルへのフルパスを渡すことができます。 –

+0

ありがとうございます。ダウンロードフォルダにダウンロードしています。ダウンロードしたファイルをどこに保存するかを選択するヘッダーを追加できますか? – Kiwimoisi