我正在尝试使用 HTTP PUT 上传文件。
在阅读了一下之后,似乎该$_FILES
数组只有 POST 和multipart/form-data
. 使用 PUT 时,我需要手动读取php://input
以获取数据。两种方法都不起作用。
我尝试了以下选项,并希望您有任何提示:
curl --upload avatar.jpg http://api.test.com/user/dsadasdsa
curl -X PUT -F "filedata=@avatar.jpg" http://api.test.com/user/dsadasdsa
我的 PHP 文件试图打印它,但返回一个空字符串:
echo file_get_contents("php://input");
我开始认为这可能是一个 Nginx 问题,缺少 PUT DELETE 支持并安装了 nginx-extras 以及将以下内容添加到我的 nginx 配置中,但不幸的是,这也无济于事。
root /var/www/;
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access group:rw all:r;