POST中的base64数据

时间:2013-03-09 19:16:01

标签: http post base64

我的开发人员正在尝试将图片发布到他的网络服务:

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 个答案:

答案 0 :(得分:2)

不要POST网址中的数据,利用帖子正文并在那里提交。这是获得大量数据的唯一途径。

答案 1 :(得分:1)

查询字符串有限制,请参阅What is the maximum possible length of a query string?

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

答案 2 :(得分:0)

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

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

GET示例:

GET /some/place.php?var1=value

POST示例:

POST /some/place.php

var1=value

但是,这样做是有效的:

POST /some/place.php?var1=value

var2=value2

(为了清楚起见,这些示例是剪切的,您必须在POST中发送一些标题)

答案 3 :(得分:0)

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