C# 文件压缩下载
来源:互联网 发布:手机淘宝找不到店铺 编辑:程序博客网 时间:2024/04/28 20:10
我们开发的过程中,有时用户要求下载的时候把文件进行压缩,以压缩包的形式下载到本地,方便保存和分类,以下是文件压缩的一个方法,以供参考
(注:System.IO.Packaging 需要引用WindowsBase.dll,才可以用)
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.IO.Packaging;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Console.WriteLine("开始压缩"); try { PackageFolder(@"E:\IMG", @"E:\压缩包.zip", false); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("压缩完成"); } /// <summary> /// 包含子文件夹一起压缩成压缩包文件 /// </summary> /// <param name="folderName">要压缩的文件夹</param> /// <param name="compressedFileName">压缩后存放路径</param> /// <param name="overrideExisting">压缩文件存在是否覆盖</param> /// <returns>是否压缩成功</returns> /// <Author></Author> public static Boolean PackageFolder(String folderName, String compressedFileName, Boolean overrideExisting) { if (folderName.EndsWith(@"\")) folderName = folderName.Remove(folderName.Length - 1); Boolean result = false; if (!Directory.Exists(folderName)) { return result; } if (!overrideExisting && File.Exists(compressedFileName)) { return result; } try { using (Package package = Package.Open(compressedFileName, FileMode.Create)) { var fileList = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories); foreach (String fileName in fileList) { //获取所有子文件的文件 String pathInPackage; pathInPackage = Path.GetDirectoryName(fileName).Replace(folderName, String.Empty) + "/" + Path.GetFileName(fileName); Uri partUriDocument = PackUriHelper.CreatePartUri(new Uri(pathInPackage, UriKind.Relative)); PackagePart packagePartDocument = package.CreatePart(partUriDocument, "", CompressionOption.Fast); using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { fileStream.CopyTo(packagePartDocument.GetStream()); } } } result = true; } catch (Exception e) { throw new Exception("压缩文件夹错误: " + folderName, e); } return result; } }}
0 0
- C# 文件压缩下载
- C# 文件压缩下载
- C# 压缩打包文件下载
- C#压缩包下载
- zip压缩、文件下载
- FileToZip文件压缩下载
- 文件压缩\修改\下载
- 压缩下载文件
- C# dataset 压缩,文件压缩
- c#的文件压缩
- c#压缩ACCESS文件
- C# 压缩、解压缩文件
- C# 压缩 ZIP文件
- c# 压缩解压文件
- C# 压缩、解压缩文件
- C# 压缩解压文件
- c# 压缩解压文件
- C#压缩打包文件
- 杂(一): Access restriction: The type * is not accessible due to restrict
- SSH整合jar包冲突问题
- 子数组的最大乘积
- 如何写英文摘要
- ubuntu12.04 安装配置jdk1.7
- C# 文件压缩下载
- python3 基础模块(数据库文件模块dbm、shelve、pickle,django,mysql,ORM框架——SQLAlchemy)
- 多层神经网络(BP算法)介绍
- ListView中headView和footView Android ListView的OnItemClickListener详解
- ORACLE 常用函数 NVL
- 一些文档链接
- Views动画 和ViewPropertyAnimator
- xml动态文件如何生成
- iOS 横竖屏