標籤:bytes llb sharp col 壓縮檔 .sh string update lis
使用SharpZipLib外掛程式
using ICSharpCode.SharpZipLib.Zip; public static void BatchDownFile(List<string> urlList) { /*刪除之前的臨時檔案*/ string path = Path.Combine(privateDiskBasePath,"tempZip"); DirectoryInfo dirInfo = new DirectoryInfo(path); if (dirInfo.Exists) { dirInfo.Delete(true); } dirInfo.Create(); string fileName = Path.Combine(path, "打包檔案.zip"); using (ZipFile zip = ZipFile.Create(fileName)) { zip.BeginUpdate(); zip.SetComment("壓縮包"); foreach (var item in urlList) { if (File.Exists(item))//判斷是檔案還是檔案夾 { byte[] buffer = null; try { buffer = File.ReadAllBytes(item); } catch { } if (buffer != null && buffer.Length > 0) { StreamDataSource dataSource = new StreamDataSource(buffer); string[] fileNameSplit = item.Split(‘\\‘); zip.Add(dataSource, fileNameSplit[fileNameSplit.Length - 1]); } } } zip.CommitUpdate(); } DownFile("打包檔案.zip", fileName); }
C#壓縮檔