在ASP.NET Core中,可以使用IFormFile
接口来处理文件上传。以下是一个示例代码,演示了如何在ASP.NET Core中将文件上传作为表单的一部分。
Index.cshtml
):
HomeController.cs
):using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using System.IO;
public class HomeController : Controller
{
[HttpPost]
public IActionResult Index(IFormFile file)
{
if (file != null)
{
var fileName = Path.GetFileName(file.FileName);
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Uploads", fileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
file.CopyTo(stream);
}
ViewBag.Message = "File uploaded successfully!";
}
else
{
ViewBag.Message = "Please select a file to upload.";
}
return View();
}
}
这个示例中,IFormFile
参数file
表示上传的文件。在控制器的Index
方法中,我们可以检查文件是否为空,然后使用CopyTo
方法将文件保存到指定的路径。在这个示例中,我们将文件保存在Uploads
文件夹下。
请注意,为了使文件上传正常工作,需要在标签中设置
enctype
属性为multipart/form-data
。
此外,您还可以根据需要进行错误处理和验证,以确保上传的文件符合要求。