Guzzle如何同时发送文件与额外文本字段?
如何在发送文件的同时额外发送文本字段?
嘿,这事儿超简单的!你已经用multipart/form-data成功发送文件了,要同时带上文本字段,只需要在你的multipart数组里多添加一个字段配置就行~
你看,multipart数组里的每一项都对应表单里的一个输入控件。原来的文件项是一个,现在你只需要加一个新的数组元素,用来定义你的文本字段:
$response = $this->getClient()->request( $method, $endpoint, [ 'headers' => ['Content-Type' => 'multipart/form-data'], 'multipart' => [ // 原有的文件字段 [ 'name' => 'file_name.tiicsti', // 注意你原来的name里有个空格,可能是笔误? 'contents' => 'hello my content', 'filename' => 'filename.txt', ], // 新增的文本字段 [ 'name' => 'your_text_field_name', // 替换成你表单里文本输入框的name属性 'contents' => '这里是你要发送的文本内容' ] ] ] );
关键点说明:
- 文本字段不需要设置
filename,因为它不是文件类型的控件 name的值要和你前端表单里文本输入框的name属性完全一致,这样后端才能正确获取到这个字段的值- 你原来的文件字段里
name写的是'file _name.tiicsti'(中间有个空格),如果这不是你故意的,可能是个笔误,记得检查一下哦
内容的提问来源于stack exchange,提问作者realtebo
相关产品推荐
相关产品推荐

