1. 程式人生 > >多個文件壓縮下載

多個文件壓縮下載

mit type .text tor ext form mappath ati 名稱

protected void Button1_Click(object sender, EventArgs e)
{
//MemoryStream ms = new MemoryStream();
//byte[] buffer = null; //using (ZipFile file = ZipFile.Create(ms))
//{
// file.BeginUpdate();
// // file.NameTransform = new MyNameTransfom();//通過這個名稱格式化器,可以將裏面的文件名進行一些處理。默認情況下,會自動根據文件的路徑在zip中創建有關的文件夾。
// file.Add(HttpContext.Current.Server.MapPath("img/010.jpg"));
// file.Add(HttpContext.Current.Server.MapPath("img/020.jpg"));
// file.CommitUpdate(); // buffer = new byte[ms.Length];
// ms.Position = 0;
// ms.Read(buffer, 0, buffer.Length);
//}
//Response.AddHeader("content-disposition", "attachment;filename=test.zip");
//Response.BinaryWrite(buffer);
//Response.Flush();
//Response.End();
string path = "C:\\Attach\\ZX"; //創建文件的路徑
List<string> filelist = new List<string>();
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string img1 = HttpContext.Current.Server.MapPath("img/010.jpg");
string img2 = HttpContext.Current.Server.MapPath("img/020.jpg");
File.Copy(img1, path+"\\"+"010.jpg");
filelist.Add(path + "\\" + "010.jpg"); //將要下載的文件復制到新創建的文件中
File.Copy(img2, path+"\\"+"020.jpg");
filelist.Add(path + "\\" + "020.jpg");
ZipDown(filelist, "", "論文"); //將文件進行壓縮下載
if (Directory.Exists(path))
{
Directory.Delete(path, true); //刪除新創建的文件
}

} public void ZipDown(List<string> fileToZips, string zipedFile, string zipfilename)
{
Response.Clear();
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + zipfilename + ".zip");
Response.HeaderEncoding = System.Text.Encoding.Default; using (ZipFile zip = new ZipFile(System.Text.Encoding.Default))//解決中文亂碼問題
{
foreach (string fileToZip in fileToZips)
{
zip.AddFile(fileToZip, "");
}
zip.Save(Response.OutputStream);
}
Response.End();
}

多個文件壓縮下載