简体   繁体   English

如何使用Content-Type:multipart / form-data通过Web API请求主体参数访问?

[英]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.

相关问题 多部分/表单数据内容类型请求 - multipart/form-data content type request 为 Swagger 的 multipart/form-data 中的文件指定内容类型 - Specify content-type for files in multipart/form-data for Swagger 发送multipart / form-data内容类型请求 - Send multipart/form-data content type request 如何在我对Get请求的响应中使用c#创建multipart / form-data类型的内容 - How do I create the content of type multipart/form-data using c# as part of my response to Get request Restsharp 如何在 MultiPart/form-data 请求中为参数指定 ContentType - Restsharp how to specify ContentType for a parameter in a MultiPart/form-data Request 将MultiPart /表单数据作为Web请求遇到问题 - Trouble with MultiPart/Form-Data as a web request 如何将请求从Asp.net MVC发送到multipart / form-data类型的外部api - how to send request from Asp.net MVC to external api in multipart/form-data type .Net MVC如何将multipart / form-data提交到Web Api - .Net MVC How to submit multipart/form-data to Web Api 如何为多部分/表单数据设置 Web API controller - How to set up a Web API controller for multipart/form-data 由于WebClient的uploadData不对数据进行编码,因此向其添加“Content-Type”,“multipart / form-data”标头会产生什么影响? - Since WebClient's uploadData doesn't encode data, then what will be the effect of adding a “Content-Type”, “multipart/form-data” header to it
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM