在ASP.NET Core中处理文件上传,你可以使用以下方法:
- 创建一个Model类来表示上传的文件:
public class FileUploadModel { public IFormFile File { get; set; } }
- 在你的控制器中创建一个处理文件上传的方法:
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; [HttpPost("upload")] public async TaskUploadFile(FileUploadModel model) { if (model.File == null || model.File.Length == 0) { return BadRequest("请选择一个文件"); } // 保存文件到服务器的本地目录 var filePath = Path.Combine(Directory.GetCurrentDirectory(), "uploads", model.File.FileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await model.File.CopyToAsync(stream); } return Ok("文件上传成功"); }
- 在你的视图中创建一个表单来上传文件:
注意:在表单中,enctype="multipart/form-data"
属性是必需的,因为它允许浏览器将文件作为二进制数据发送。
现在,当用户通过表单上传文件时,UploadFile
方法将被调用,文件将被保存到服务器的本地目录。你可以根据需要自定义文件保存的位置和名称。