1
以下のようなマルチパートフォームデータをWEB API 2コントローラに投稿します。私のデータにはJSONとImageファイルがあります。以下のデータのためにc#apiコントローラコードがどのようになるのか理解してください。jsonデータと画像ファイルをweb api 2のマルチパートフォームデータとして読み込みます。
現時点では私はRequest.Content.ReadAsMultipartAsync(provider);
でエラーが取得しています:MIMEマルチパートストリームの
予期しない終了を。あなたのコードで
if (!request.Content.IsMimeMultipartContent("form-data")) { throw new InvalidOperationException("Media type not supported"); } var root = HttpContext.Current.Server.MapPath("~/App_Data"); var provider = new MultipartFormDataStreamProvider(root); await request.Content.ReadAsMultipartAsync(provider);
可能性の問題がある:MIMEマルチパートメッセージは、私はこの数ヶ月前にやろうとしているし、次のコードになってしまってきた
var uploadPath = HttpContext.Current.Server.MapPath("~/Userimage/");
Directory.CreateDirectory(uploadPath);
var provider = new MultipartFormDataStreamProvider(uploadPath);
await Request.Content.ReadAsMultipartAsync(provider);
// Files
//
foreach (MultipartFileData file in provider.FileData)
{
Debug.WriteLine(file.Headers.ContentDisposition.FileName);
Debug.WriteLine("File path: " + file.LocalFileName);
}
// Form data
//
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
Debug.WriteLine(string.Format("{0}: {1}", key, val));
}
}
return Request.CreateResponse(HttpStatusCode.OK);
---------------------------acebdf13572468
Content-Disposition: form-data; name="modelclass"
Content-Type: application/json
{
"MessageID": 1,
"SenderID": 2,
"userType": "sample string 3",
"msgCategory": "sample string 4",
"msgContent": "sample string 5",
"msgDistributedTo": "sample string 6"
}
---------------------------acebdf13572468
Content-Disposition: form-data; name="fieldNameHere"; filename="bg4.jpg"
Content-Type: image/jpeg
<@INCLUDE *C:\Users\Lenovo1\Pictures\bg4.jpg*@>
---------------------------acebdf13572468--