我正在尝试上传文件并同时发送帖子参数,如下所示:
$response = $client->post('http://example.com/api', [
'form_params' => [
'name' => 'Example name',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/image', 'r')
]
]
]);
Run Code Online (Sandbox Code Playgroud)
但是我的form_params字段被忽略,我的帖子正文中只有多部分字段.我可以用guzzle 6.0发送两者吗?
小智 28
我遇到了同样的问题.您需要将form_params添加到multipart数组.其中'name'是表单元素名称,'contents'是值.您提供的示例代码将变为:
$response = $client->post('http://example.com/api', [
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/image', 'r')
],
[
'name' => 'name',
'contents' => 'Example name'
]
]
]);
Run Code Online (Sandbox Code Playgroud)
我也到了那里,但不幸的是,如果您有多维参数数组,它就不起作用。我让它工作的唯一方法是,如果您将 form_paramaters 作为数组中的查询参数发送:
$response = $client->post('http://example.com/api', [
'query' => [
'name' => 'Example name',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/image', 'r')
]
]
]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20027 次 |
最近记录: |