在mvc中保存文件上载控件的状态

时间:2013-05-04 20:39:24

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

我正在使用asp.net mvc框架。并尝试在回发请求后保存控件状态。简单控件(文本框等)的值可以很容易地从请求中获取,但是如何从表单获取控制器端的文件输入控件的值。 让表格为

@using(@Html.BeginForm("method","controller",new{enctype="multiple/form-data"}))
{
    @Html.TextBox("Name")
    <input type="file" name="f1" id="f1" />
}

控制器是

[Httppost]
public ActionResult method()
{
   ViewBag.Name=Request["Name"]
  //here i have to get value of file-control i.e. path contained in it, to store in ViewBag
}

如何从请求获取值(即文件路径)。 请帮忙。

2 个答案:

答案 0 :(得分:0)

在大多数浏览器中,您无法获得该文件的完整原始路径,并且您无法在任何情况下设置input type=file的值。

答案 1 :(得分:0)

使action方法以HttpPostedFileBase f1为参数;该对象将代表该文件,它有一个SaveAs()方法,可以保存上传的文件。