当前位置: 首页 > 编程语言 > C#

在.net中下载多个zip格式的文件共享

时间:2023-04-11 02:59:10 C#

文件并单击下载,我必须压缩所有这些文件并下载..就像在邮件附件中一样..我已经使用了这篇文章中提到的代码用于单个文件下载请帮助如何将多个文件下载为zip..您需要打包文件并将结果写入响应。您可以使用SharpZipLib压缩库。代码示例:Response.AddHeader("Content-Disposition","attachment;filename="+compressedFileName+".zip");Response.ContentType="应用程序/zip";使用(varzipStream=newZipOutputStream(Response.OutputStream)){foreach(stringfilePathinfilePaths){byte[]fileBytes=System.IO.File.ReadAllBytes(filePath);varfileEntry=newZipEntry(Path.GetFileName(filePath)){Size=fileBytes.Length};zipStream.PutNextEntry(文件入口);zipStream.Write(fileBytes,0,fileBytes.Length);}zipStream.Flush();zipStream.Close();这是DotNetZip的使用方法:DIGuaranteedtoDotNetZip,因为我已经在使用它这是迄今为止我遇到的最简单的C#压缩库:)查看http://dotnetzip.codeplex.com/http://dotnetzip。codeplex.com/wikipage?title=CS-Examples&referringTitle=ASP中的示例。NET来创建可下载的zip。此示例在ASP.NET回发方法中动态创建一个zip,然后通过Response.OutputStream将该zip文件下载到请求浏览器。zip存档永远不会在磁盘上创建。publicvoidbtnGo_Click(Objectsender,EventArgse){Response.Clear();Response.BufferOutput=假;//对于大文件StringReadmeText="Thisisazipfiledynamicgeneratedat"+System.DateTime.Now.ToString("G");字符串文件名=System.IO.Path.GetFileName(ListOfFiles.SelectedItem.Text)+".zip";Response.ContentType="应用程序/zip";Response.AddHeader("content-disposition","filename="+filename);使用(ZipFilezip=newZipFile()){zip.AddFile(ListOfFiles.SelectedItem.Text,“文件”);zip.AddEntry("Readme.txt","",ReadmeText);压缩。保存(响应.OutputStream);}Response.Close();}使用http://www.icsharpcode.net/opensource/sharpziplib/动态创建ZIP文件。我知道的3个库是SharpZipLib(通用格式)、DotNetZip(所有ZIP)和ZipStorer(小巧紧凑)。没有链接,但它们都在codeplex上并通过谷歌找到。许可证和具体功能各不相同。快乐的编码。以上是C#学习教程:.net多文件共享zip格式全部内容下载。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: