0

我在 web api 中有一个方法,我从视图中调用它:

网页接口代码:

public CarProperties Post(CarProperties car)
{
   if(car.file!=null)
    {
        var path = Path.Combine(Server.MapPath("~/Images/"), Path.GetFileName(car.file.FileName));
        car.file.SaveAs(path);
    }
   new CarRepository().Save(car); //saves the file to database
   return car;
}

模型:

public class Car{
    public int Id {get; set;}
    public string Name {get; set;}
    public HttpPostedFileBase file {get; set;}
}

看法:

@using(Html.BeginForm("Save", "Home", FormMethod.Post, new {enctype = "multipart/form-data"}))
{

   @Html.TextboxFor(model=>model.file, new { type = "file" })
   @Html.TextboxFor(model=>model.Name)
   <input type="submit" name="Submit" value="Submit"/>
   @Html.ValidationSummary()
}

我得到模型中名称的值,但文件仅返回为 null。

如果我将 post 方法从 web api 控制器复制到 mvc 控制器,则同样的方法有效。我不明白为什么它在 web api 控制器中不起作用。

4

0 回答 0