记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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
基于PHP array数组的教程详解
Jun 05 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
php array_values 返回数组的值实例详解
Nov 17 PHP
简单谈谈PHP中的trait
Feb 25 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
php去除deprecated的实例方法
Nov 17 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
fgetcvs在linux的问题
2012/01/15 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
jQuery代码优化 遍历篇
2011/11/01 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python3中函数参数的四种简单用法
2018/07/09 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python程序变成软件的实操方法
2019/06/24 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
党员干部承诺书
2014/03/25 职场文书
《搭石》教学反思
2014/04/07 职场文书
校园元旦活动总结
2014/07/09 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python