.NET 6 使用 ZipFile 下载文件夹
在 .NET 6 中,可以使用 System.IO.Compression.ZipFile 类来创建和操作 ZIP 文件。以下是一个示例,演示如何使用 ZipFile 类来压缩和下载整个文件夹:
using System;
using System.IO;
using System.IO.Compression;
class Program
{
static void Main()
{
string folderPath = 'path/to/folder'; // 文件夹的路径
string zipFilePath = 'path/to/output.zip'; // ZIP 文件的输出路径
// 压缩文件夹
ZipFile.CreateFromDirectory(folderPath, zipFilePath);
// 下载 ZIP 文件
DownloadFile(zipFilePath);
}
static void DownloadFile(string filePath)
{
string fileName = Path.GetFileName(filePath);
byte[] fileBytes = File.ReadAllBytes(filePath);
// 设置 HTTP 响应头
Console.WriteLine('Content-Type: application/zip');
Console.WriteLine($'Content-Disposition: attachment; filename='{fileName}'');
Console.WriteLine($'Content-Length: {fileBytes.Length}');
Console.WriteLine();
// 发送文件内容
Console.OpenStandardOutput().Write(fileBytes);
}
}
在上面的示例中,我们使用 ZipFile.CreateFromDirectory 方法将整个文件夹压缩为一个 ZIP 文件。然后,我们使用 DownloadFile 方法将 ZIP 文件发送到 HTTP 响应中,以便下载。
请注意,上述示例是一个简化的控制台应用程序示例,仅演示了如何使用 ZipFile 类来压缩和下载文件夹。在实际应用中,你可能需要根据你的需求进行适当的修改和调整。
原文地址: https://www.cveoy.top/t/topic/qkQs 著作权归作者所有。请勿转载和采集!