1

我的开发人员正在尝试将图像发布到他的网络服务,如下所示:

http://consec.dev.domain.com/Services/ActivityService.svc/SubmitImage?userId=8D428BF6-51F0-43F6-947D-7E19A6A7F4BD&fileName=feels-bad.png&fileContent=iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==

这是一个 base64 编码的图像(这个恰好是一个红点,但我们将使用的图像要大得多)

当他尝试发布它时,他得到:

HTTP Error 414. The request URL is too long.

他告诉我这是因为我的 IIS 配置错误。我告诉他它的代码。有人可以对此有所了解或指出我们开始寻找答案的方向吗?谢谢你

4

4 回答 4

2

不要POSTURL 中的数据,利用帖子正文并在那里提交。这是获得大量提交数据的唯一方法。

于 2013-03-09T19:18:26.577 回答
1

查询字符串有限制,请参阅查询字符串的最大可能长度是多少?

您应该在请求正文中通过发布数据传递文件内容。

于 2013-03-09T19:20:28.123 回答
0

首先它是一个 get 而不是一个 post http 请求。其次,错误是网络服务器返回的。但这是糟糕的设计吗?它实际上是否应该是一个表单按钮,它使用 post 而不是构造的可点击获取 url 提交字段

于 2013-03-09T19:23:45.793 回答
0

他的代码是错误的。这就是 HTTP 支持POST请求的原因。

请注意,通过POST请求,您仍然可以将数据放入 URL。要做到正确POST,您将创建一个 URL 来定义发布位置,并将您想要的数据放入POST请求的正文中。

GET 示例:

GET /some/place.php?var1=value

POST 示例:

POST /some/place.php

var1=value

但是,这样做是有效的:

POST /some/place.php?var1=value

var2=value2

(为了清楚起见,这些示例被剪断,您还必须在 a 中发送一些标题POST

于 2013-03-09T19:20:51.660 回答