在做项目的过程中根据业务需要有时上传的附件可能会很大,这时可以对文件做压缩处理。
ASP.NET Core 中,可以使用 System.IO.Compression 命名空间中的 ZipFile 实现文件压缩,上载的文件可以先存储到服务器本地,然后使用 ZipFile 进行压缩。具体实现步骤如下:
1、新建一个控制器(例如:UploadController),在控制器中添加以下代码:
using System.IO;
using System.IO.Compression;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
public class UploadController : Controller
{
[HttpPost]
public IActionResult UploadAndCompress(IFormFile file)
{
if (file != null && file.Length > 0)
{
var fileName = Path.GetFileName(file.FileName);
var filePath = Path.Combine("Uploads", fileName);
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
file