当我尝试使用带有标题Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----
的HTTP帖子上传文件时,一切都按预期工作但尝试使用Content-Type: multipart/form-data; boundary=-----NPRequestBoundary-----; charset=UTF-8
导致完全空白的$ _FILES数组。
这是PHP或Web服务器的问题吗?据我所知,这种形式的Content-Type
是有效的。
答案 0 :(得分:1)
因为Content-Type
是multipart/form-data
,这意味着它是从部分构建的,每个部分都可以拥有自己的Content-Type
。 charset参数仅与text/plain
内容类型一起使用。因此,multipart/form-data
内容类型无效。
答案 1 :(得分:1)
在SVN rev中修复了Bug。 #316373(5.3.9版本涵盖了它)。
答案 2 :(得分:0)
我找到了解决这个问题的肮脏方法。对我来说这是临时bcs它在litespeed下不起作用(我使用反向代理来缓存这个问题)。
<Location "/upload.php">
RequestHeader set Content-Type "multipart/form-data; boundary=-----NPRequestBoundary-----"
</Location>
它将强制webserver替换content-type标头。现在我确定 - 这是一个PHP错误(有人认为charset将在boundary=
之前发生)