2016年10月31日 星期一

[C#]從MemoryStream下載檔案並壓縮成zip檔

1.在NuGet管理套件搜尋DotNetZip並安裝
2.using Ionic.Zip;
3.
using (MemoryStream memoryStream = new MemoryStream())
{
                    TextWriter textWriter = new StreamWriter(memoryStream);

                    foreach (var item in swipeS_RequestRecordSaveService.GetRequestRecordSaveList(id))
                    {
                        textWriter.WriteLine("檔案內容");
                        textWriter.Flush();
                     
                    }
                    byte[] bytesInStream = memoryStream.ToArray();
                    memoryStream.Seek(0, SeekOrigin.Begin);
                    string password = desFun.Encrypt(id.ToString() + DateTime.Now.Minute.ToString());
                    using (ZipFile zipFile = new ZipFile())
                    {
                        zipFile.Password = password;
                        zipFile.AddEntry(fileName, memoryStream);
                        Response.ClearContent();
                        Response.ClearHeaders();
                        Response.AppendHeader("content-disposition", "attachment; filename=xxx.zip");
                        zipFile.Save(Response.OutputStream);
                    }
                    memoryStream.Close();
}

更多使用方式介紹 請上 https://dotnetzip.codeplex.com/

沒有留言:

張貼留言

Visual Studio JS intellisense 失效解決方式

  試了好久,發現到工具>選項>IntelliCode js項目設定啟用,重新開啟VS就正常了! 後來發現是TypeScript3.2版有問題停用,使用4.3版的TypeScript即可