记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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
php 什么是PEAR?
Mar 19 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
php调用自己java程序的方法详解
May 13 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 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/10/09 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
php服务器的系统详解
2019/10/12 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery实现图片预加载
2015/12/25 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python文件与目录操作实例详解
2016/02/22 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python画图的函数用法以及技巧
2019/06/28 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
ORACLE第二个十问
2013/12/14 面试题
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
电脑售后服务承诺书
2014/03/27 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript