在 .NET 6 中,可以使用 ZipArchive 类来打包并下载整个文件夹。以下是一个示例代码:

using System;
using System.IO;
using System.IO.Compression;
using Microsoft.AspNetCore.Mvc;

public class FileController : Controller
{
    public IActionResult DownloadFolder()
    {
        // 文件夹路径
        string folderPath = 'path/to/folder';

        // 创建临时文件
        string tempFilePath = Path.GetTempFileName();

        // 压缩文件夹
        ZipFile.CreateFromDirectory(folderPath, tempFilePath);

        // 设置要下载的文件名
        string downloadFileName = 'folder.zip';

        // 下载文件
        return PhysicalFile(tempFilePath, 'application/zip', downloadFileName);
    }
}

在上述代码中,首先需要将文件夹路径设置为 folderPath 变量的值。然后,使用 ZipFile.CreateFromDirectory 方法将整个文件夹打包为一个临时 zip 文件。接下来,使用 PhysicalFile 方法设置要下载的文件路径、MIME 类型和文件名,并将其作为 IActionResult 返回。

请注意,上述代码中的 'path/to/folder' 应替换为实际的文件夹路径,而 'folder.zip' 是要下载的压缩文件的名称。

.NET 6 文件夹打包下载:使用 ZipArchive 类压缩整个文件夹

原文地址: https://www.cveoy.top/t/topic/qkQ4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录