【问题标题】:Web API .NET MVC - Http POST - Fiddler request send string variableWeb API .NET MVC - Http POST - Fiddler 请求发送字符串变量
【发布时间】:2020-02-13 17:45:38
【问题描述】:

所以我正在做一个 API,我必须将一个巨大的 json 文件和一个变量的名称发送到数据库。目前正在使用我的代码发送和读取文件,并且工作正常。

然后事情是我必须为服务名称发送一个字符串(可能有“/”字符,这就是为什么我没有把它作为文件名或查询字符串。

我尝试发送此请求(HTTP POST):

---------------------------32r23rfewfwfaedef
Content-Disposition: form-data; name="fieldNameHere"; filename="XXXXXX.json"
Content-Type: application/json

{"name":"test"}

<@INCLUDE *C:\....\XXXXXX.json*@>
---------------------------32r23rfewfwfaedef--

问题是我在控制器中的任何地方都找不到该变量...我的代码是这样的:

public HttpResponseMessage Post()
        {
            if (HttpContext.Current.Request.Files.Count != 1)
                throw new HttpResponseException(new HttpResponseMessage()
                {
                    ReasonPhrase = "One file is required, a json in order to create the Swagger.",
                    StatusCode = HttpStatusCode.BadRequest
                });

            SwaggerSaveModel model = new SwaggerSaveModel();

            HttpPostedFile postedFile = HttpContext.Current.Request.Files[0];

            using (System.IO.StreamReader myFile = new System.IO.StreamReader(postedFile.InputStream))
            {
                var XmlObj = new StreamReader(postedFile.InputStream).ReadToEnd();
                model.SwaggerJson = XmlObj.ToString();
            }

            return Request.CreateResponse(HttpStatusCode.Created, "blabla");

        }

文件读取很好,但我找不到“名称”变量...我也无法更改该 json 文件,因为它是一个招摇,并且必须完全按照发送的方式使用。

请帮忙..

【问题讨论】:

    标签: c# asp.net-mvc parameters http-post fiddler


    【解决方案1】:

    对于像我这样的未来疑问,我想出了如何做到这一点。我这样发送我的请求:

    parameter: FileName
    

    并像这样访问我的控制器:

    HttpContext.Current.Request.Params["HTTP_PARAMETER"]
    

    然后它返回“文件名”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-14
      • 2022-08-11
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 2016-06-13
      相关资源
      最近更新 更多