[英]Nginx + PHP7-FPM Content-Type empty $FILES
当我尝试使用PostMan发送文件并且Content-Type标头设置为任何类型的值时,$ FILES数组完全为空。
如果我删除此标头,我可以在数组中看到该文件。
我为该标题尝试了很多不同的值,但似乎都没有。
问题是我正在与外部供应商合作,他们的软件无法从他们的POST请求中删除该标头
使用以下配置:
以及nginx vhost上的以下配置:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
要使$_FILES
起作用,您应该将标头content-type
集发送到multipart/form-data
。 当您将其设置为其他任何内容时,服务器将不知道如何获取您发送的文件。
请求主体也应采用multipart/form-data
所需的格式。 这是由文件上传库自动(和浏览器)完成的。
现在,删除content-type
标题时它的工作原理是Postman会在您的请求中包含文件时自动添加它,并将整个请求格式化为multipart/form-data
格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.