在C#控制器中支持文件上传,可以使用ASP.NET MVC的HttpPostedFileBase类来实现。以下是一个简单的示例代码:
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Uploads"), fileName);
file.SaveAs(path);
// 文件上传成功
ViewBag.Message = "文件上传成功";
}
else
{
// 文件上传失败
ViewBag.Message = "请选择要上传的文件";
}
return View();
}
在上面的示例代码中,控制器的方法接受一个HttpPostedFileBase类型的参数file,表示上传的文件。然后判断文件是否为空并保存文件到服务器的指定路径。最后返回一个视图并显示上传结果。
在前端页面中,可以使用表单来上传文件:
@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="上传" />
}
在上面的示例代码中,使用Html.BeginForm方法创建一个表单,将enctype属性设置为"multipart/form-data"以支持文件上传。然后通过input标签的type为file来选择要上传的文件,最后通过input标签的type为submit来提交表单。