生成的单个文件的压缩率可达50%,忍不住要压缩一下,当然下载的时候也需要解压,我用的是GZipStream
1.压缩
string filePath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
FileInfo fi = new FileInfo(filePath);
using FileStream msSource = fi.OpenRead();
using MemoryStream msTarget = new MemoryStream();
using GZipStream compressionStream = new GZipStream(msTarget, CompressionMode.Compress);
msSource.CopyTo(compressionStream);
compressionStream.Flush();
compressionStream.Flush();这很重要,否则msTarget.ToArray()会丢掉部分内容。
2.解压
using MemoryStream mss = new MemoryStream(buffer);
using FileStream mst = File.Create(currentProcess.MainModule.FileName + "~");
using GZipStream decompressionStream = new GZipStream(mss, CompressionMode.Decompress);
decompressionStream.CopyTo(mst);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2014-03-10 第四课 Gallery的使用
2014-03-10 第三课 Spinner的使用
2014-03-10 Deployment failed due to an error in FastDev assembly synchronization.