知道为什么PATCH和PUT不接受multipart / form-data文件上传?
当我运行var_dump($_ FILES)时,它输出array(0){}.任何想法为什么会这样?如果我发布文件,它可以正常工作.
下面是我正在运行的请求的示例.
提前致谢!
PUT /test.PHP HTTP/1.1 Content-Type: multipart/form-data; boundary=__X_PAW_BOUNDARY__ Host: [redacted] Connection: close User-Agent: Paw/2.1.1 (Macintosh; OS X/10.10.2) GCDHTTPRequest Content-Length: 17961 --__X_PAW_BOUNDARY__ Content-Disposition: form-data; name="avatar"; filename="default.png" Content-Type: image/png PNG [IMAGE DATA] --__X_PAW_BOUNDARY__--
使用PUT请求上载文件时,不要使用multipart / form-data. PUT请求几乎与GET请求相同.您应该做的就是将文件的内容放在请求的正文中.之后,您可以使用以下代码检索文件,如PHP文档中所述:
原文链接:https://www.f2er.com/php/445212.htmlhttp://php.net/manual/en/features.file-upload.put-method.php):
<?PHP /* PUT data comes in on the stdin stream */ $putdata = fopen("PHP://input","r"); /* Open a file for writing */ $fp = fopen("myputfile.ext","w"); /* Read the data 1 KB at a time and write to the file */ while ($data = fread($putdata,1024)) fwrite($fp,$data); /* Close the streams */ fclose($fp); fclose($putdata); ?>