记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类
Nov 27 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
php检测图片木马多进制编程实践
Apr 11 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php的4种常见运行方式
Mar 20 PHP
PHP中foreach()用法汇总
Jul 02 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
php输出图像的方法实例分析
Feb 16 PHP
PHP strripos函数用法总结
Feb 11 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP多例模式介绍
2013/06/24 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
php实现网站留言板功能
2015/11/04 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
JS解析XML实例分析
2015/01/30 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
回顾Javascript React基础
2019/06/15 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
python处理csv中的空值方法
2018/06/22 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python数据预处理方式 :数据降维
2020/02/24 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
关于Java finally的面试题
2016/04/27 面试题
小学毕业典礼主持词
2014/03/27 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书