【问题标题】:Passing base 64 in webapi gives error Request URL Too Long在 web api 中传递 base64 会给出错误请求 URL 太长
【发布时间】:2017-05-09 06:58:46
【问题描述】:

我正在尝试在 webapi 中为我的 android 客户端发布图像,但是当我执行代码时,它显示错误为“请求 URL 太长”。我也试过 [from body]。但得到了同样的错误。请有人帮助我。

我的动作方法是

 [HttpPost] public IHttpActionResult InsertWallPostFeeds([FromBody] string objwallfeed) 
 {
     WallFeedpost objwall = JsonConvert.DeserializeObject<WallFeedpost>(objwallfeed);
 }

以下是我的邮递员请求。

【问题讨论】:

  • 也许您在 URL 中而不是在正文中发送图像数据。如果数据不在正文中[FromBody] 什么也不做。原因是,按照规范,一个 URL 最多可以有 2048 个字符。
  • 这就是我传递的方式.. [HttpPost] public IHttpActionResult InsertWallPostFeeds([FromBody] string objwallfeed) {}
  • 我可以看到你的消息正文中有一个JSON,但也看一下URL。您将 JSONized 对象附加到 URL,这就是导致错误的原因。您只需将其添加到正文中即可。

标签: asp.net-mvc asp.net-web-api asp.net-web-api2


【解决方案1】:

查看您的邮递员请求,我可以看到您正在通过 url 将 json 作为字符串传递。你必须通过身体传递它。 邮递员请求类似于下面的截图

【讨论】:

  • 我没有使用 JavaScript,该服务适用于 Android 用户。 [HttpPost] public IHttpActionResult InsertWallPostFeeds([FromBody] string objwallfeed) { WallFeedpost objwall = JsonConvert.DeserializeObject(objwallfeed); ...一些代码}
  • 你能检查一下android代码吗?从android看来,数据是通过url传递的。您的服务器端代码看起来不错。
  • 我正在尝试在邮递员中对此进行测试并得到错误..Url too long
  • 能否附上Postman脚本窗口的截图
  • ttp://www.w3.org/TR/html4/strict.dtd" rel="nofollow" target="_blank">w3.org/TR/html4/strict.dtd"> 请求 URL 太长

    请求 URL 太长


    HTTP错误 414。请求 URL 太长。

猜你喜欢
  • 1970-01-01
  • 2023-01-20
  • 2021-07-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多