记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 相关文章推荐
一个显示天气预报的程序
Oct 09 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
PHP的命令行命令使用指南
Aug 18 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 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 定义404页面的实现代码
2012/11/19 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
javascript offsetX与layerX区别
2010/03/12 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
python对json的相关操作实例详解
2017/01/04 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
党支部组织生活会整改方案
2014/09/30 职场文书
学生个人总结范文
2015/02/15 职场文书
毕业生入职感言
2015/07/31 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书