vue通过el-upload组件上传文件到服务器使用总结

2023-10-31

vue通过el-upload组件上传文件到服务器使用总结

1.业务需求:
  • vue项目需要通过elementUI的el-upload组件上传文件,但是一般情况下请求接口是需要携带token值的,如果不携带则上传不成功,而el-upload是通过 action 属性来设置请求地址的,所以要处理请求头就需要处理headers属性。
2.解决方案:
  • HTML如下(这是比较全面的写法,其中:action属性是自定义上传地址;headers属性是自定义请求头,比如携带token等;limit属性是上传个数限制;file-list属性是多个文件上传时所在的list):

  •    			<el-form-item>
                     <el-upload
                       class="upload-demo"
                       :action="base2"
                       :headers="upHeaders"
                       :on-preview="handlePreview"
                       :on-remove="handleRemove"
                       :before-remove="beforeRemove"
                       multiple
                       :limit="1"
                       :before-upload="beforeUpload"
                       :on-exceed="handleExceed"
                       :on-success="handleSuccess"
                       :on-error="handleError"
                       :file-list="fileList">
                       <i class="el-icon-upload"><span> 导入文件</span></i>
                     </el-upload>
    
  • 上传生命周期函数如下

  •    	  // 删除文件钩子
            handleRemove(file, fileList) {
                  console.log(file, fileList)
                },
           // 已上传文件钩子
            handlePreview(file) {
               console.log(file)
             },
           // 文件上传前的钩子(这里可以对文件上传时的后缀进行限制)
            beforeUpload(file) {
               var FileExt = file.name.replace(/.+\./, '')
               if (['json', 'JSON'].indexOf(FileExt) === -1) {
                 this.$message({
                   type: 'warning',
                   message: '请上传后缀名为 json 的文件!',
                 })
                 return false
             }
           },
          // 上传文件个数限制钩子
            handleExceed(files, fileList) {
              this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
            },
          // 删除文件前的钩子
            beforeRemove(file, fileList) {
              return this.$confirm(`确定移除 ${ file.name }`);
            },
          // 上传失败钩子
            handleError(err, file, fileList) {
              this.$message.error(err.errormsg)
            },
          // 上传成功钩子(在这里可以处理上传成功后端返回的数据)
            handleSuccess(rep, file, fileList) {
              console.log(req)
            },
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue通过el-upload组件上传文件到服务器使用总结 的相关文章

  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 删除 IE9 边缘周围的 2px 灰色边框

    我正在尝试对这个网站进行编码 尝试关键字 并且我正在尝试找出如何删除这个阴影2px灰色边框延伸到 IE9 窗口的内部 至少顶部 左侧和底部 我的边距设置为零 因此所有页面元素都到达页面的最边缘 但使用 IE9 它们会停在这个灰色边框处 我没
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 如何停止TinyMCE删除span标签?

    在我的工作中 前一位程序员决定使用公司网站上精彩的TinyMCE 我遇到的数千个问题之一是 如果原文有的话span标签 当我按下退格键删除一行 p仅标签 全部span标签已从文本中删除 这个错误比另一个错误更具体 我可以删除anything
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • Maven的从入门到精通(三)

    第三弹 Maven的常用命令 一 常用命令 1 1 compile 1 2 test 1 3 clean 1 4 package 1 5 install 1 6 Maven 指令的生命周期 1 7Maven 的概念模型 二 idea开发ma
  • IntelliJ IDEA 2023.2 正式发布,彻底弃用Struts2,不再支持Win7

    点击 终码一生 关注 置顶公众号 每日技术干货 第一时间送达 1 主要更新 IntelliJ IDEA 2023 2已经到来 此版本为IDE带来了大量令人兴奋的功能和有价值的改进 下面是本次的主要更新 IntelliJ IDEA 2023
  • CSS3的 transition属性、transform属性,怎么才能让他同时执行多个不同的过渡、动画(变换属性)效果

    1 如果要给一个Dom html标签 元素 同时设置多个不同的CSS过渡 transition 属性值时 在各个属性值之间用逗号 英文 隔开即可 2 如果要给一个Dom html标签 元素 同时设置多个不同的CSS变换 transform
  • JAVA设计模式_模拟小电器(升级优化)

    设计目的 模拟一个带控制开关的小电器 该电器上有4个开关 2个一组 其中一组负责打开 关闭小电器上的照明灯 另一组负责打开 关闭小电器上的摄像头 设计要求 1 设计Camera类 模拟摄像头 和Light类 模拟照明灯 2 设计Machin
  • PASCAL VOC2012数据集以及制作自己的数据集

    目录 VOC2012目录结构 制作自己的数据集 标注图片软件 使用流程 软件使用 VOC2012目录结构 制作自己的数据集 标注图片软件 github开源项目 形成的是xml文件格式 使用流程 软件使用
  • 二叉搜索树的最近公共祖先Python解法

    给定一个二叉搜索树 找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为 对于有根树 T 的两个结点 p q 最近公共祖先表示为一个结点 x 满足 x 是 p q 的祖先且 x 的深度尽可能大 一个节点也可以是它自己的祖先
  • 浙江移动容器云基于 Dragonfly 的统一文件分发平台生产实践

    2018 年 11 月 源于阿里巴巴的云原生镜像分发系统 Dragonfly 在 KubeCon 上海现场亮相 成为 CNCF 沙箱级别项目 Sandbox Level Project Dragonfly 主要解决以 Kubernetes
  • BCOS区块链性能分析工具的安装和使用perf+火焰图

    安装Perf perf的全称是Performance Event 在2 6 31版本后的Linux内核中均有集成 是Linux自带的强力性能分析工具 使用现代处理器中的特殊硬件PMU Performance Monitor Unit 性能监
  • Linux nfs挂载目录无响应解决方法

    Linux nfs挂载目录无响应解决方法 笔者在搭载linux系统的开发板上 使用nfs挂载乌班图虚拟机的目录时 在开发板上 这要涉及到挂载的目录 shell就会卡死 各种查找测试后 发现一种解决方法 卡死的原因是虚拟机的ip地址发生变化
  • Vue知识点总结(17)——作用域插槽(超级详细)

    之前分别了解了匿名插槽和具名插槽 这期我们的任务是作用域插槽 作用域插槽虽然用的不多 但是还是挺重要的 我们以一个实际需求来展示作用域插槽 因为作用域插槽用的确实不多 只能在实际需求中展示它的意义 需求 已经开发了一个待办事项列表的组件 很
  • 我彻底服了,大牛讲解信号与系统(通俗易懂)

    我彻底服了 大牛讲解信号与系统 通俗易懂 2015 10 13 21 22 36 转载 分类 电力电子技术 第一课什么是卷积卷积有什么用什么是傅利叶变换什么是拉普拉斯变换 引子 很多朋友和我一样 工科电子类专业 学了一堆信号方面的课 什么都
  • GitHub ssh-key配置

    1 安装GitHub https desktop github com 2 生成ssh key 1 打开github运行窗口 2 输入命令如下命令 这里的邮箱账号为GitHub注册时的账号 ssh keygen t rsa C xxxxxx
  • CSS&JS两种方式实现手风琴式折叠菜单

    div class accordion div class section h3 a href one 折叠栏1 a h3 div class image img src div div div class section h3 a hre
  • Maximum call stack size exceeded

    前言 小程序探究之路 报错显示 报错原因 这个意思是 超出最大调用堆栈大小 我这里是调用了腾讯的地图 然后排查各种情况 最后发现是我再注册的时候 直接用了map这个名字 但是实际上 我们调用腾讯接口用的也是map的标签 错误代码 1 调用界
  • u-boot项目管理:.config的生成

    总体简略描述 config是 scripts kconfig conf程序从根目录开始分析Kconfig文件 并结合xxx deconfig生成的配置文件 1 输入命令 make zynq defconfig 2 开始解析 Makefile
  • 需求跟踪矩阵实例_如何利用seaborn进行矩阵散点图(Pairs Plots)的绘制?

    点击上方蓝字 关注我们 如何快速创建强大的可视化探索性数据分析 这对于现在的商业社会来说 变得至关重要 今天我们就来 谈一谈如何使用 python 来进行数据的可视化 一旦你有了一个很好的被清理过的数据集 下一步就是探索性数据分析 EDA
  • Mybatis Plus实现逻辑删除

    文章目录 1 什么是逻辑删除 2 使用说明 3 如何使用Mybatis Plus实现逻辑删除 4 测试 1 什么是逻辑删除 逻辑删除是名义上的删除 就是对要要删除的数据打上一个删除标记 在逻辑上数据是被删除的 但数据本身依然存在 可通过修改
  • MHA-6 两个脚本 master_ip_failover master_ip_online_change

    master ip failover usr bin env perl use strict use warnings FATAL gt all use Getopt Long my command ssh user orig master
  • 2023天梯赛个人题解

    文章目录 L1 1 最好的文档 L1 2 什么是机器学习 L1 3 程序员买包子 L1 4 进化论 L1 5 猜帽子游戏 L1 6 剪切粘贴 L1 7 分寝室 L1 8 谁管谁叫爹 L2 1 堆宝塔 L2 2 天梯赛的赛场安排 L2 3 锦
  • vue通过el-upload组件上传文件到服务器使用总结

    vue通过el upload组件上传文件到服务器使用总结 1 业务需求 vue项目需要通过elementUI的el upload组件上传文件 但是一般情况下请求接口是需要携带token值的 如果不携带则上传不成功 而el upload是通过