记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中的string类型使用说明
Jul 27 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
php模板原理讲解
Nov 13 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP中的流(streams)浅析
Jul 02 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
Laravel 连接(Join)示例
Oct 16 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
一个改进的UBB类
2006/10/09 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Python的randrange()方法使用教程
2015/05/15 Python
Python数据类型详解(二)列表
2016/05/08 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python实现字典嵌套列表取值
2019/12/16 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
2014年社区庆元旦活动方案
2014/03/08 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
竞聘自述材料
2014/08/25 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
python opencv旋转图片的使用方法
2021/06/04 Python
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS