[英]How request body parameter access by Web API using Content-Type: multipart/form-data?
When I am passing parameter from Request body in JSON format then not coming hit to web api. 当我以JSON格式从Request主体传递参数时,不会被Web API击中。 My code: 我的代码:
public async Task<HttpResponseMessage> Upload([FromBody]AddPhotoBizPrm addPhotoBizPrm)
{
json_obj.RESPONSE = new { };
string images = "";
if (Request.Content.IsMimeMultipartContent())
{
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var file in provider.Contents)
{
var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
var buffer = file.ReadAsByteArrayAsync();
images += filename;
//Do whatever you want with filename and its binary data.
}
}
json_obj.RESPONSE = images;
json_obj.MESSAGE = "";
json_obj.STATUS_CODE = 701;
return new HttpResponseMessage()
{
Content = new StringContent("ok")
};
}
and I am passing parameter from request body: 我从请求正文传递参数:
{
deviceid:"",
rate:2,
review:"",
skuid:123,
userId:875904
}
Solved this problem. 解决了这个问题。 I was using content-type=multipart/form-data so we can not pass json parameter to request body. 我正在使用content-type = multipart / form-data,因此我们无法将json参数传递给请求正文。 So we will pass paramter in data form as like deviceid=""&rate=2&review=""&skuid=123&userId=875904 因此,我们将以数据形式传递参数,例如deviceid =“”&rate = 2&review =“”&skuid = 123&userId = 875904
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.