DotNetZipを使用して1つまたは複数のファイルを圧縮して正常に動作する方法があります。今日はじめてエラーが発生し、アーカイブ全体のサイズに関連しているようです。同じ60MBの.tiffイメージを使用して、私はいくつかの余分なコピー、テスト、繰り返しを追加します。約10枚の画像が追加されるまでうまくいき、WinRarを使用してZipファイルを開いたときに「予期しないアーカイブの終了」エラーが発生します。このようにテストすると、私は自分のコードやファイル(破損しているか何か)に関連しているという問題を排除したと私は信じています。コードはエラーではなく、WinRarのみです。 Zipファイルを開くと、サイズが「0」のファイルが1つしか表示されません。だから、ある種のサイズ制限に達しているようで、アーカイブを作成できないようです。どのくらいの制限があるのか分かりません。それが助けがあれば、私のコードはあります:DotNetZipを使用してZipファイルを作成するときにエラーが発生しました:アーカイブが予期せず終了しました
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/zip";
HttpContext.Current.Response.AddHeader("content-disposition", "filename=" + "MyFileName" + DateTime.Now.ToString("MMddyyyy") + ".zip");
using (var zip = new Ionic.Zip.ZipFile())
{
zip.MaxOutputSegmentSize = 819200; // I tried adding this and it did not fix the problem
foreach (var file in files)
{
zip.AddFile(file.FileLocation, file.ZipFileDirectory).FileName =
(!string.IsNullOrEmpty(file.ZipFileDirectory) && (file.ZipFileDirectory != @"\")) ?
string.Format(@"{0}\{1}", file.ZipFileDirectory, file.FileName) :
file.FileName;
}
zip.Save(HttpContext.Current.Response.OutputStream);
}
Zipファイルを直接(「HttpContext.Current.Response」を使用せずに)保存すると同じことが起こりますか? – svick