记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 XML数据解析代码
May 26 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php学习之数据类型之间的转换代码
May 29 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
基于php下载文件的详解
Jun 02 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
PHP开发注意事项总结
Feb 04 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
php中的异常和错误浅析
2017/05/03 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
Python中的TCP socket写法示例
2018/05/11 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
python pillow模块使用方法详解
2019/08/30 Python
python如何将两个txt文件内容合并
2019/10/18 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
基于python实现模拟数据结构模型
2020/06/12 Python
C++的几个面试题附答案
2016/08/03 面试题
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
Java后台生成图片的完整步骤
2021/08/04 Java/Android
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript
Python中的 No Module named ***问题及解决
2022/07/23 Python