在c#中创建并下载zip文件

本文关键字:下载 zip 文件 创建 | 更新日期: 2023-09-27 18:21:37

在我的c#应用程序中,我试图从用户那里获得的附件中创建一个zip文件,然后下载该zip文件。首先我尝试使用SharpZipLib,但没有成功。

我得到了以下错误:

线程中止错误。

现在我正在尝试使用

System.IO.Compression;

但是有些地方出了问题,因为我得到了这个错误:

The type or namespace name 'ZipFile' could not be found (are you missing a using directive or an assembly reference?)

当我尝试进行时,我已经添加了dll引用

            using (ZipFile zip = new ZipFile())
            {
                zip.CompressionLevel = CompressionLevel.Fastest;
                zip.AddSelectedFiles(logoimage, "", false);
                zip.Save(HttpContext.Current.Response.OutputStream);
            }

我收到这个错误,

Cannot declare a variable of static type 'System.IO.Compression.ZipFile'    

有什么想法吗?

在c#中创建并下载zip文件

由于错误表明System.IO.Compression.ZipFile是一个静态类,因此您无法创建一个new实例。

ZipFile类只公开静态方法来压缩目录,压缩您想要的System.IO.Compression.ZipArchive的特定文件。

使用System.Io.Compression,您可以使用GZipStream类来压缩和解压缩流。

如本文所述,要使用ZipFile类,必须在项目中添加对System.IO.Compression.FileSystem程序集的引用;否则,在尝试编译时将收到以下错误消息:The name 'ZipFile' does not exist in the current context

看看如何在MSDN上压缩和提取文件。

请确保您拥有.NET 4.5或更高版本。我假设您是这样做的,因为您正在尝试使用System.IO.Compression.