记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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
php 小乘法表实现代码
Jul 16 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
解析ajax事件的调用顺序
Jun 17 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
Thinkphp微信公众号支付接口
Aug 04 PHP
PHP在线打包下载功能示例
Oct 15 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python基于socket函数实现端口扫描
2020/05/28 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
幼儿园见习总结
2015/06/23 职场文书
红歌会主持词
2015/07/02 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS