记Laravel调用Gin接口调用formData上传文件的实现方法

2025-05-29 0 29

第一次错误:

[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 的实例。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20
$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 才是王道

?

1

2

3

4

5

6

7

8

9

10
```

$response = $client->request('POST', 'http://post', [

'multipart' => [

[

'name' => 'field_name',

'contents' => json_encode(["abc", "abd"])

]

]

]

]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://learnku.com/articles/37885

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 记Laravel调用Gin接口调用formData上传文件的实现方法 https://www.kuaiidc.com/91942.html

相关文章

发表评论
暂无评论