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


Posted in PHP onDecember 12, 2019

第一次错误:

[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"])
      ]
    ]
  ]
]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
php mssql 时间格式问题
Jan 13 PHP
php 引用(&)详解
Nov 20 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
Zend studio文件注释模板设置方法
Sep 29 PHP
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
Oct 19 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 #PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 11 #PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 #PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 #PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
Jan 07 #PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 #PHP
PHP字符串与数组处理函数用法小结
Jan 07 #PHP
You might like
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
浅析return false的正确使用
2013/11/04 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
numpy中索引和切片详解
2017/12/15 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
python 阶乘累加和的实例
2019/02/01 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Python 解析xml文件的示例
2020/09/29 Python
Python可以用来做什么
2020/11/23 Python
个性发展自我评价
2014/02/11 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
学前教育专业求职信
2014/09/02 职场文书
2014年度个人工作总结
2014/11/07 职场文书
导游词之岳阳楼
2019/09/25 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers