记Laravel调用Gin接口调用formData上传文件的实现方法
2019-12-13 12:12
1891 查看
第一次错误:
[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"]) ] ] ] ]);
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- HTML5 FormData 方法介绍以及实现文件上传
- [转] HTML5 FormData 方法介绍以及实现文件上传
- 在tp3.2.3中使用 FormData 对象实现表单的文件上传功能遇到的一个问题及解决方法
- HTML5 FormData 方法介绍以及实现文件上传
- jQuery用FormData实现文件上传的方法
- laravel上传图片调用接口,使用formData 上传图片 展示在本页面
- HTML5 FormData 方法介绍以及实现文件上传
- HTML5 FormData 方法介绍以及实现文件上传
- HTML5 FormData 方法介绍以及实现文件上传
- multipart/form-data图片上传实现方法(上传文件到Nimg)
- HTML5 FormData 方法介绍以及实现文件上传
- 利用html5的FormData对象和ajax实现异步文件上传
- java ajaxForm 实现文件上传后台成功,页面走error方法
- Html之form+iframe实现文件上传的方法-yellowcong
- 用xmlhttp将html的数据打包成multipart/form-data格式,实现异步上传文件功能[转]
- EXTJS使用H5 formdata实现多文件上传
- springmvc文件上传时,form表单加上enctype="multipart/form-data"后无法实现Bean的注入解决方案
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- AngularJs实现Multipart/form-data 文件的上传
- 利用Hadoop的FileSystem create方法获取 FSDataOutputStream 实现文件的上传