.NET 6 文件夹打包下载:使用 ZipArchive 类压缩整个文件夹
在 .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' 是要下载的压缩文件的名称。
原文地址: https://www.cveoy.top/t/topic/qkQ4 著作权归作者所有。请勿转载和采集!