java零基础 HashMap foreach lua datatables jq遍历对象 jquery去空格 idea大小写转换快捷键 移动端上传图片插件 hadoop环境变量配置 input函数python python教程 python下载安装教程 python基本语法 python图形化编程 python中的join函数 java多态 javase教程 java接口实现 java对象序列化 心理学与生活txt java小程序 手机照片恢复免费软件 手机主题之家 电脑听歌识曲 mp4剪切合并大师 r330不能识别墨盒 大数据之路 pro换肤 cad2008汉化包 qq悄悄话怎么知道对方是谁 qq空间自动点赞 启用宏在哪里设置 免费录屏工具 CST软件 c语言小程序 千兆网线做法 凯立德地图包下载 636 小米6拆机
当前位置: 首页 > 学习教程  > 编程语言

vue formdata上传文件 多参数 php后台接收遇到的问题集合

2020/10/16 18:24:49 文章标签:

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、项目背景 二、使用步骤 1.通过formdata方式进行上传 三、遇到的问题 1.当传入数组形式的参数时,打印出来是object格式&#xff1…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

文章目录

前言

一、项目背景

二、使用步骤

1.通过formdata方式进行上传

三、遇到的问题

1.当传入数组形式的参数时,打印出来是object格式:

2.文件上传时,打印为空,后台接收不到文件参数

3.excel导入时,用的组件是php excel 会读取空白行

总结


前言

本文记录了前台vue上传文件并携带数组类型的参数,php后台接收时遇到的问题

 

一、项目背景

前台vue上传excel导入,并携带数组类型的参数,后台php通过导入的数据与传入的数据对比验证

二、使用步骤

1.通过formdata方式进行上传

这个网上代码很多,直接搜索就可以,注意的有两点:

1需要配置好请求头:'Content-Type': 'multipart/form-data'

2.需要写对文件的key值。

  let fileFormData  = new FormData();
      fileFormData.append('address', this.files);//address是键,file是值,就是要传的文件

 

三、遇到的问题

1.当传入数组形式的参数时,打印出来是object格式:

将添加参数的代码:

params.append('address',this.address);//其中address就是你的数组参数

改为:

params.append('address',JSON.stringify(this.address));

最后后台接收示例:(将字符串转成json数组的形式)

 $true_data = json_decode($trueData, true);

2.文件上传时,打印为空,后台接收不到文件参数

原因:通过vue的封装好的插件上传时,它内部将文件的key,默认写死成“file”,而我后台接收时叫address。故后台无法接受到。

解决方式:1.后台接收的key改为file;2.写原生的axios请求方式。

 

3.excel导入时,用的组件是php excel 会读取空白行

原因:excel的删除数据有两种方式,1右键点击删除行,2选择行按delete键。如果是第二种方式删除的数据,看着是删没了,但是用php excel操作的时候 还是会读取它,这时如果你有必填值判断,就肯定会报错了

解决方式:将该行单元格右键删除。


总结

遇到了很多问题,最后都一一解决了。收获很多,当你遇到问题的时候不要慌,选对关键词 进行搜索,总能解决你的问题的。


本文链接: http://www.dtmao.cc/news_show_300413.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?