3

当我尝试使用带有标头的 HTTP 帖子上传文件时,Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----一切都按预期工作,但尝试使用Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----; charset=UTF-8导致完全空白的 $_FILES 数组。

是PHP还是Web服务器的问题?据我所知,这种形式Content-Type是有效的。

4

3 回答 3

1

因为Content-Typeis multipart/form-data,这意味着它是由部分组成的,每个部分都可以有自己的Content-Type。charset 参数仅与text/plain内容类型一起使用。所以它对multipart/form-data内容类型毫无意义。

于 2012-01-27T03:32:25.757 回答
1

错误已在 SVN rev 中修复。#316373(5.3.9 版本涵盖了它)。

于 2013-10-17T12:03:03.987 回答
0

我找到了解决此问题的肮脏解决方法。对我来说,它是 ofc 临时 bcs,它在 litespeed 下不起作用(我使用反向代理到 apache 来避免这个问题)。
<Location "/upload.php">
RequestHeader set Content-Type "multipart/form-data; boundary=-----NPRequestBoundary-----"
</Location>

它将强制网络服务器替换内容类型标头。现在我确定 - 这是一个 PHP 错误(有人认为 charset 会在之前发生boundary=

于 2012-01-27T12:39:09.937 回答