这篇文章给大家介绍如何在Laravel中使用Gin接口调用formData上传文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
第一次错误:
[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"]) ] ] ] ]);
关于如何在Laravel中使用Gin接口调用formData上传文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。