温馨提示×

c# controller如何支持文件上传

c#
小樊
124
2024-07-23 22:34:09
栏目: 编程语言

在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来提交表单。

0