记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 相关文章推荐
PHP stream_context_create()作用和用法分析
Mar 29 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
js字符编码函数区别分析
2008/06/05 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
Python对数据库操作
2016/03/28 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
Django之路由层的实现
2019/09/09 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
斯福泰克软件测试面试题
2015/02/16 面试题
财务会计专业个人求职信范本
2014/01/08 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
自我检讨报告
2015/01/28 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
培训心得体会怎么写
2016/01/25 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis