我正在使用Guzzle 6向第三方API(雲代理)發送多部分表單請求。 api需要2個參數「資源」和「應用程序」。 here是我正在撥打的電話的文檔。簡而言之,它將二進制文件部署到應用程序服務器。下面是我在Guzzle中使用的代碼。當嘗試發送空數組作爲「資源」參數的內容時,我收到「無效資源類型」錯誤。 Guzzle似乎只允許字符串在這裏? api要求在推送新的二進制文件時發送一個空數組。Guzzle在多部分請求中發送空數組
這裏是代碼:
$response = $this->client->put($this->baseUrl . "apps/7887990-654e-4516-8ce9-b37bc2f93a87/bits", [
'multipart' => [
[
'name' => 'resources',
'contents' => []
],
[
'name' => 'application',
'contents' => '@/tmp/cfdownloadYQfOp7',
]
]
]);
上述失敗,並提到的錯誤,並改變t 1至字符串導致一個壞的請求給API。
這裏是curl命令可以正常工作:
curl -k -X PUT -H "Authorization:token here" -F 'resources=[]' -F "[email protected]/tmp/cfdownloadF9AxlE" https://api.cloudfoundry.com/v2/apps/2d0f491b-d8dd-4b3a-96f9-58b3678e5dad/bits
沒有人知道如何得到這個使用上述狂飲代碼工作?
您是否嘗試引用括號?即'內容'=>'[]'' – patricus
是的,我試過了,我只是找到了這個問題。我會提供一個答案 – arrowill12