2つのテキストファイルをzipファイルに圧縮しようとしています。これは私のパブリックメソッドがどのように見えるかです:このアプローチでは複数のファイルをzipファイルで圧縮する方法
private void CompressToZip(string fileName, Dictionary<string, byte[]> fileList)
{
using (var memoryStream = new MemoryStream())
{
foreach (var file in fileList)
{
using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
var demoFile = archive.CreateEntry(file.Key);
using (var entryStream = demoFile.Open())
using (var b = new BinaryWriter(entryStream))
{
b.Write(file.Value);
}
}
}
using (var fileStream = new FileStream(fileName, FileMode.Create))
{
memoryStream.Seek(0, SeekOrigin.Begin);
memoryStream.CopyTo(fileStream);
}
}
}
、ZIPフォルダが完全に作成されます。
public ActionResult Index()
{
byte[] file1 = System.IO.File.ReadAllBytes(@"C:\file1.txt");
byte[] file2 = System.IO.File.ReadAllBytes(@"C:\file2.txt");
Dictionary<string, byte[]> fileList = new Dictionary<string, byte[]>();
fileList.Add("file1.txt", file1);
fileList.Add("file2.txt", file2);
CompressToZip("zip.zip", fileList);
return View();
}
これは私の圧縮方法がどのように見えるかです。しかし、問題は、私はzipフォルダ内に1つだけのファイルを取得している(ちょうど2番目のファイルは、zipフォルダ内に作成されます)です。 エラーは見つかりませんでした。
質問:両方のテキストファイルをzipフォルダに圧縮するにはどうすればよいですか?
ありがとうございました!
完全に機能しました。どうもありがとうございました! – Dayan