繁体   English   中英

Nginx + PHP7-FPM内容类型为空$ FILES

[英]Nginx + PHP7-FPM Content-Type empty $FILES

当我尝试使用PostMan发送文件并且Content-Type标头设置为任何类型的值时,$ FILES数组完全为空。

如果我删除此标头,我可以在数组中看到该文件。

我为该标题尝试了很多不同的值,但似乎都没有。

问题是我正在与外部供应商合作,他们的软件无法从他们的POST请求中删除该标头

使用以下配置:

  • Nginx的/ 1.12.2
  • PHP 7.0.28

以及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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM