IE将内容类型的multipart / form-data添加到GET请求

时间:2015-06-01 22:09:30

标签: internet-explorer amazon-s3 http-headers

我有一个这样的表格:

<form method="POST" enctype="multipart/form-data">
<input type='submit' name='foo' />
</form>

提交该表单时,我有一些PHP呈现图像:

<img src="http://s3-external-1.amazonaws/bucket/example.jpg?AWSAccessKeyId=foo&Signature=bar&expires=111111" />

问题是Internet Explorer 11(以及我认为的其他版本)正在该GET请求上发送Content-Type: multipart/form-data; boundary=---------------------------7dfcd3b0f0a

当AWS收到请求时,他们说签名不匹配(这是正确的)。

几乎没有奇怪的怪癖:

  • 如果我使用HTTPS加载页面,则内容类型不会设置为任何值(因此可以正常工作)
  • 这在任何其他浏览器中都不会发生
  • 如果我在IE中打开开发工具,则内容类型不会设置为任何值(因此可以正常工作)
  • 如果我删除multipart/form-data,则内容类型未设置为任何值(因此可以正常工作)

我尝试使用/ content-type发出cURL请求。它失败了,没有成功。

为什么IE会在表单提交后在结果页面上向所有GET添加content-type

更新:它似乎不会发生在所有表单中 - 但是当我们从应用程序的某个部分提交时,会发生这种情况。我可以找到,提交页面上的表单是相同的,但表单数据在呈现图像之前通过不同的服务器端函数。但是,无法看到这会如何影响IE添加内容类型。

0 个答案:

没有答案