使用ASP.NET MVC 3上载文件

时间:2012-06-19 16:55:45

标签: c# asp.net-mvc-3 file-upload

我正在努力通过ASP.NET MVC 3公开一些基于REST的服务。这些服务将通过JQuery以及Windows Phone Silverligh应用程序来实现。我知道如何与典型的服务进行互动。例如,我目前有类似以下的内容:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddComment(string username, string comment)
{
  // Do stuff
  return Json(new { message = "Success" });
}

我想公开一个允许用户上传文件的基于REST的服务。这里的诀窍是我还需要传递一些数据和每个文件。但是,我不知道该怎么做。我发现的每个例子都只有一个文件。但我不确定

  1. 如何接受其他数据
  2. 从JQuery传递什么。
  3. 我传递的其他所有内容都只是字符串。但是,在这里我似乎有数据以二进制格式序列化,因为文件和一些字符串文本。因此,我不知道该怎么做。我有道理吗?

1 个答案:

答案 0 :(得分:4)

行动的签名应该只是:    public ActionResult MyAction(string username,string comment,HttpPostedFileBase file1)    {...}

MVC绑定应检查请求,并根据参数名称和类型将表单提交与操作匹配。

客户端表单必须具有方法POST的enctype =“multipart / form-data”。

JQuery只会使用$(“#form”)。submit()。

发布表单