记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 中引入的 MYSQLI的用途
Mar 19 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
php格式化电话号码的方法
Apr 24 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
php 的多进程操作实践案例分析
Feb 28 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基础知识:控制结构
2006/12/13 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
PHP函数常用用法小结
2010/02/08 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
Web程序工作原理详解
2014/12/25 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
wxPython 入门教程
2008/10/07 Python
python获取豆瓣电影简介代码分享
2014/01/16 Python
从零学Python之入门(三)序列
2014/05/25 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python学习入门细节知识点
2018/03/29 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
Python中整数的缓存机制讲解
2019/02/16 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
应届生个人求职信模板
2013/11/26 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL