0%

Angular + C# DotNetZip 實現下載 Zip 文件

1.先在 Nuget 加入 dotNetZip,加入後即可在專案中使用。

2.將文件壓縮

1
2
3
4
5
6
7
8
9
10
MemoryStream outputStream = new MemoryStream();

using (var zip = new ZipFile())
{
zip.Password = pwd;
zip.AddEntry(fileName, content);
zip.Save(outputStream);
}

var file = Convert.ToBase64String(outputStream.ToArray());

以上程式碼就是壓縮!

zip.Password 為將 zip 加密的密碼,也可以不需要。

zip.AddEntry(fileName, content);
fileName為 zip 文件裡的檔案名稱,content 為檔案內容。

zip.Save(outputStream);
因為要將 zip 文件轉為 base64,所以這邊直接將 zip 寫入記憶體而不是直接儲存為實體檔。

最後再將剛剛的記憶體轉成 byte 後再轉 base64 即可。