记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中使用与Perl兼容的正则表达式
Nov 26 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
PHP中判断变量为空的几种方法小结
Nov 12 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
Jun 11 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 PHP
Laravel实现ORM带条件搜索分页
Oct 24 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
drupal 代码实现URL重写
2011/05/04 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
JavaScript中的类与实例实现方法
2015/01/23 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
详解Angular2 之 结构型指令
2017/06/21 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
南京某软件公司的.net面试题
2015/11/30 面试题
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
夜班门卫岗位职责
2013/12/09 职场文书
我未来的职业规划范文
2014/01/11 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
python高温预警数据获取实例
2022/07/23 Python