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

アクションの署名は次のようになります。publicActionResultMyAction(string username、string comment、HttpPostedFileBase file1){...}

MVCバインディングは、リクエストを調べ、パラメーター名とタイプに基づいてフォーム送信をアクションと照合する必要があります。

クライアント側のフォームには、POSTメソッドを持つenctype = "multipart/form-data"が必要です。

JQueryは$( "#form")。submit()を使用してフォームを投稿するだけです。

于 2012-06-19T18:55:21.317 に答える