3

我正在努力通过 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 传递什么。

我传递的其他所有内容都只是字符串。但是,由于文件和一些字符串文本,在此我似乎将数据序列化为二进制格式。正因为如此,我不知道该怎么办。我说得有道理吗?

4

1 回答 1

4

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

MVC 绑定应检查请求并将表单提交与基于参数名称和类型的操作相匹配。

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

JQuery 只会使用 $("#form").submit() 发布表单。

于 2012-06-19T18:55:21.317 回答