我使用Laravel 5.5和Guzzle 6.3开发网站。
尝试使用API创建到BOX的文件夹时,尝试吞噬嵌套数组时遇到问题。
$url = $this->api_url . "/folders";
$headers = [
'Authorization' => 'Bearer ' . $this->access_token,
];
$client = new Client();
$response = $client->post($url, [
'headers' => $headers,
'form_params' => [
'name' => $name,
'parent' => [
'id' => $parent_id
]
]
]);
它显示给我这样的错误:我也已经尝试过使用
shell_exec
curl,因此它从命令提示符运行curl,并且给了我同样的错误但是,当我尝试从cygwin运行时, curl 效果很好。
我也可以使用分段请求嵌套数组来做上传,但效果很好。
当嵌套数组与多部分请求一起正常工作时,我不知道为什么会遇到此嵌套数组问题。
包装盒文档POST is here的引用。
最佳答案
根据docs,您不能使用multipart选项:
因此,也许在创建Client实例时尝试设置 header :
$url = $this->api_url . "/folders";
$client = new Client([
'headers' => [
'Authorization' => 'Bearer ' . $this->access_token,
'Accept' => 'application/json',
]
]);
$response = $client->post($url, [
'json' => [
'name' => $name,
'parent' => [
'id' => $parent_id
]
]
]);
实际上在再次阅读框引用之后,发布没有文件上传的请求,它接受application/json,这是用于application/x-www-form-urlencoded的form_params
关于laravel - 大量发布嵌套数组问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52411226/