ASP.NET Core中的GET请求通常不用于文件上传,因为GET请求的参数会附加在URL中,这可能导致安全问题,如文件名冲突、敏感信息泄露等。而且,浏览器对URL的长度有限制,过长的URL可能导致请求无法成功发送。
对于文件上传,通常使用POST请求,因为POST请求将数据放在请求体中,不会影响URL。在ASP.NET Core中,可以使用IFormFile
来处理文件上传。以下是一个简单的示例:
- 创建一个HTML表单,包含一个文件输入字段:
- 在ASP.NET Core控制器中处理文件上传:
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; public class HomeController : Controller { public IActionResult Upload(IFormFile file) { if (file == null || file.Length == 0) { return Content("No file uploaded."); } // 保存文件到服务器的逻辑 // ... return RedirectToAction("Index"); } }
这个示例中,Upload
方法接收一个IFormFile
类型的参数,用于处理上传的文件。注意,表单的enctype
属性设置为multipart/form-data
,这是处理文件上传所必需的。