第一次錯誤:[output] 【c.FormFile error==>】 multipart: NextPart: EOF
file 沒有傳值,或者非預定格式,stream resource
第二次錯誤:
[output] 【c.FormFile error==>】 multipart: NextPart: bufio: buffer full
header頭不需要 content-type => 'multipart/form-data'
php呼叫參考:
傳送表單檔案
你可以透過使用 multipart
請求引數來傳送表單(表單enctype屬性需要設定 multipart/form-data
)檔案, 該引數接收一個包含多個關聯陣列的陣列,每個關聯陣列包含一下鍵名:
- name: (必須,字串) 對映到表單欄位的名稱。
- contents: (必須,混合) 提供一個字串,可以是
fopen
返回的資源、或者一個
Psr\Http\Message\StreamInterface
的例項。
$response = $client->request('POST', 'http://post', [
'multipart' => [
[
'name' => 'field_name',
'contents' => 'abc'
],
[
'name' => 'file_name',
'contents' => fopen('/path/to/file', 'r')
],
[
'name' => 'other_file',
'contents' => 'hello',
'filename' => 'filename.txt',
'headers' => [
'X-Foo' => 'this is an extra header to include'
]
]
]
]);
ps:
multipart格式如上,需要注意的是引數如果是陣列,同樣需要重組,不重組就是第三個問題:Invalid resource type: array
修改引數格式為json,畢竟跨語言json xml 才是王道
```
$response = $client->request('POST', 'http://post', [
'multipart' => [
[
'name' => 'field_name',
'contents' => json_encode(["abc", "abd"])
]
]
]
]);
本作品採用《CC 協議》,轉載必須註明作者和本文連結