c# 創建壓縮包並下載文件


 1 public class IndexController: ICSharpCode.SharpZipLib.Core.INameTransform
 2 {
 3 
 4 #region INameTransform 成員
 5 
 6 public string TransformDirectory(string name)
 7 {
 8 return null;
 9 }
10 
11 public string TransformFile(string name)
12 {
13 return Path.GetFileName(name);
14 }
15 
16 #endregion
17 }
18 
19 /// <summary>
20 /// 壓縮打包文件
21 /// </summary>
22 public ActionResult ZipFileByCode()
23 {
24 MemoryStream ms = new MemoryStream();
25 byte[] buffer = null;
26 
27 using (ZipFile file = ZipFile.Create(ms))
28 {
29 file.BeginUpdate();
30 file.NameTransform = new IndexController();//通過這個名稱格式化器,可以將里面的文件名進行一些處理。默認情況下,會自動根據文件的路徑在zip中創建有關的文件夾。
31 
32 file.Add(Server.MapPath("/Content/images/img01.jpg"));
33 file.Add(Server.MapPath("/Content/images/img02.jpg"));
34 file.CommitUpdate();
35 
36 buffer = new byte[ms.Length];
37 ms.Position = 0;
38 ms.Read(buffer, 0, buffer.Length);
39 }
40 Response.AddHeader("content-disposition", "attachment;filename=test.zip");
41 Response.BinaryWrite(buffer);
42 Response.Flush();
43 Response.End();
44 
45 return new EmptyResult();
46 }
47 
48 }

 

所需Dll下載:http://files.cnblogs.com/wangbogo/ICSharpCode.SharpZipLib.rar 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM