.NET 6 文件打包下载:使用 FileStreamResult 和 ZipFile 实现
要使用FileStreamResult和ZipFile实现文件打包下载,你可以按照以下步骤进行操作:\n\n1. 首先,你需要创建一个用于打包的文件夹,并将要打包的文件放入该文件夹中。\n\n2. 接下来,可以使用ZipFile类将文件夹中的文件打包成一个zip文件。可以使用以下代码实现:\n\ncsharp\nstring folderPath = "@C:\path\to\folder"; // 设置文件夹路径\nstring zipFilePath = "@C:\path\to\output\file.zip"; // 设置输出的zip文件路径\n\nZipFile.CreateFromDirectory(folderPath, zipFilePath);\n\n\n3. 然后,你需要创建一个Action方法,该方法返回一个FileStreamResult对象,用于将打包好的zip文件下载到客户端。可以使用以下代码实现:\n\ncsharp\npublic ActionResult Download()\n{\n string zipFilePath = "@C:\path\to\output\file.zip"; // 设置打包好的zip文件路径\n\n FileStream fs = new FileStream(zipFilePath, FileMode.Open);\n FileStreamResult result = new FileStreamResult(fs, "application/zip");\n result.FileDownloadName = "file.zip"; // 设置下载时的文件名\n\n return result;\n}\n\n\n4. 最后,你可以在你的视图中创建一个下载按钮,并将其链接到Download方法。可以使用以下代码实现:\n\nhtml\n<a href="@Url.Action("Download", "ControllerName")" class="btn btn-primary">Download</a>\n\n\n确保将"ControllerName"替换为你的控制器的名称。\n\n这样,当用户点击下载按钮时,将会触发Download方法,该方法将返回FileStreamResult,并将打包好的zip文件发送到客户端进行下载。
原文地址: https://www.cveoy.top/t/topic/p4lJ 著作权归作者所有。请勿转载和采集!