1
商品名と説明を含む商品画像を掲載できるhtmlフォームがあるとします。asp.net web Api 2.0のMultipartフォームデータとの直接モデルバインド?
製品名: 説明:私は、プロバイダFORMDATAを使用せずに、 '商品名' と '説明' フィールドの値を取得したい イメージファイル。
ウェブAPIコントローラ -
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
try
{
// Read the form data.
await Request.Content.ReadAsMultipartAsync(provider);
// Show all the key-value pairs.
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
Trace.WriteLine(string.Format("{0}: {1}", key, val));
}
}
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
我々は簡単にすべてのプロパティ値を取得することができます。しかし、我々は、Web API関数以下のように行うことができます:
[HttpPost]
public IHttpActionResult Upload(ProductInfo model){
return Content(HttpStatusCode.OK, true);
}
Public Class ProductInfo {
public string ProductName{ get; set; }
public string Description{ get; set; }
}
それはリクエストのcontent.Iに複数のパラメータ(「モデル」と「ファイル」)をバインドできませんWebAPIのコントローラ から、次のようなエラーを示すには、共通のモデルと試みたがsuccess.Iを持って取得していませんまた、フィドラーを介してデータをチェックし、それはすべての完璧と思われる。 –