首先说明一下,我们这次主要用的还是iview的upload上传组件,下面直接上代码

<Upload
ref="upload"
multiple='true' //是否支持多文件上传
:show-upload-list="true" //显示上传的文件
:before-upload="handleUpload" //上传前需要的一些操作
:data="uploadFile"  //上传的文件保存的地方
:on-success="uploadSuccess" //上传成功时调用的方法
:headers='{"Authorization": session}' //这里是设置的请求头token
:action="actionUrl" //这是上传时的后台接口
>
选择Excel文件:<Button icon="ios-cloud-upload-outline">选择上传文件</Button>
</Upload>
<!-- <Button type="primary" @click="clear" >清空上传记录</Button> //这里是手动上传的时候 清空之前的上传记录 或者点击的错误文件-->
<!-- <Button type="primary" @click="upload" >点击上传文件</Button> //如果不设置则为自动上传,这里可以设置手动上传文件-->

下面是上传时我们需要调用的一些方法

        importExcel(url){
this.modalImport = true;
this.$refs.upload.clearFiles();//清除上次上传记录
this.file = [];
this.uploadFile = [];
},
uploadSuccess(response, file, fileList){
this.$Message.info(response.msg);
// this.modalImport = false
debugger
this.init(0, 20);
},
clear(){
this.$refs.upload.clearFiles();//清除上次上传记录
},
handleUpload (file) { // 上传文件前的事件钩子 // 选择文件后 这里判断文件类型 保存文件 自定义一个keyid 值 方便后面删除操作
let keyID = Math.random().toString().substr(2);
file['keyID'] = keyID;
// 保存文件到总展示文件数据里
this.file.push(file);
// 保存文件到需要上传的文件数组里
this.uploadFile.push(file)
// 返回 falsa 停止自动上传 我们需要手动上传
//如果需要手动上传文件,需要把这里注释放开并放开上面代码块中的被注释的两个按钮,就可以进行手动上传了
//return false
},
upload () { // 上传文件
for (let i = 0; i < this.uploadFile.length; i++) {
let item = this.file[i]
this.$refs.upload.post(item);
} },

上传文件大概就是这样了,关键的代码部分也给出了注释,希望能帮到大家。

既然有了上传文件,那就顺便把下载文件的也一起说了吧 !其实下载文件比较简单点,直接看代码吧!!!

exportExcel(url){
if(this.data.length == 0){
this.$Message.info('当前列表暂无数据!')
return;
}
let url1 = this.GLOBAL.BASE_URL + url,
sessionId = Cookies.get('status'),
form = $('<form></form>').attr('action',url1).attr('method','post');
form.append($('<input></input>').attr('type','hidden').attr('name','Authorization').attr('value',sessionId));
form.appendTo('body').submit().remove();
},

下载文件主要就是请求头的设置,这里不是iview的下载文件组件,是自己常用的一种,如果有更好的方法欢迎大家踊跃指出

下面是我的公众号,欢迎大家关注,可以一起学习一起进步:

使用vue+iview实现上传文件及常用的下载文件的方法的更多相关文章

  1. jQuery用FormData对象实现文件上传以及如何通过ajax下载文件

    之前在Vue的项目里面用到过文件上传,封装好的组件用起来比较顺手,查询Element-UI文档,十八般武器样样都有,一顿操作猛如虎,一看--跑偏了(⊙o⊙)-,我的意思就是用框架实现比较简单,但是如果 ...

  2. win端git连接私服仓库+上传本地项目+从服务器下载文件到win

    win端git连接私服仓库: 1.win端 检查c:/Users/用户/.ssh/目录下是否有config文件(!!!没有任何后缀名).如果没有则新建config文件,然后修改添加如下内容: Host ...

  3. vue 阿里云上传组件

    vue 阿里云上传组件 Vue.js上传图片到阿里云OSS存储 测试项目git地址 本测试项目启动方法 示例链接 组件配置项 实践解释 本文主要介绍如何 在vue项目中使用web 直传方式上传阿里云o ...

  4. vue中el-upload上传多图片且携带参数,批量而不是一张一张的解决方案

    现在前端基本不是vue技术栈就是react技术栈. vue技术栈最常用的就是element-ui的ui框架了. 在项目中,我们经常会碰到这种需求:批量上传文件 element-ui 确实也为我们提供了 ...

  5. 文件上传之——用SWF插件实现文件异步上传和头像截取

    之前写过几篇文件上传,那些都不错.今天小编带领大家体会一种新的上传方法,及使用Flash插件实现文件上传. 使用Flash的好处就是可以解决浏览器兼容性问题.之前我写的一个快捷复制功能也是利用的Fla ...

  6. uedit修改文件上传路劲,支持api文件接口

    首先修改一个东西ueditor/ueditor.config.js serverUrl: URL + "php/controller.php" 原来 serverUrl: &quo ...

  7. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  8. FTP文件上传 支持断点续传 并 打印下载进度(二) —— 单线程实现

    这个就看代码,哈哈哈哈哈  需要用到的jar包是: <dependency> <groupId>commons-net</groupId> <artifact ...

  9. servlet实现文件上传,预览,下载和删除

      一.准备工作 1.1 文件上传插件:uploadify: 1.2 文件上传所需jar包:commons-fileupload-1.3.1.jar和commons-io-2.2.jar 1.3 将数 ...

随机推荐

  1. python 图像处理,画一个正弦函数

    import numpy as np from PIL import Image import matplotlib.pyplot as plt import math size = 300 new_ ...

  2. java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

    当新对象被创建的时候,构造函数会被调用.每一个类都有构造函数.在程序中没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数 Java中构造函数重载和方法重载很相似.可以为一个类 ...

  3. (.NET高级课程笔记)反射总结

    反射总结 1.dll-IL-matadata-反射 2.反射加载dll,获取module.类.方法.特性 3.反射创建对象:反射+简单工厂+配置文件 4.反射调用实例方法.静态方法.重载方法.私有方法 ...

  4. Go 初体验 - 错误与异常处理

    错误处理是学习任何编程语言都需要考虑的一个重要话题 go 内置的 error 接口是这样的: 先上代码: 输出: 释义: 我们首先定义9行的自定义错误类型 30行再实现 error 接口 34定义打开 ...

  5. 对于Java Bean的类型转换问题()使用 org.apache.commons.beanutils.ConvertUtils)

    在进行与数据库的交互过程中,由数据库查询到的数据放在 map 中,由 map 到 JavaBean 的过程中可以使用 BeanUtils.populate(map,bean)来进行转换 这里要处理的问 ...

  6. ASP.NET MVC案例教程(七)

      前言 写这篇文章的目的,是想总结一些东西,以帮助朋友们更好的使用这个框架.但是,我又不像把官方列举的哪些优势.功能翻译过来列举在这里.所以,我想干脆我就纯从个人观点上对这个框架评论一下吧.说的不好 ...

  7. 【论文速读】ChengLin_Liu_ICCV2017_Deep_Direct_Regression_for_Multi-Oriented_Scene_Text_Detection

    ChengLin Liu_ICCV2017_Deep Direct Regression for Multi-Oriented Scene Text Detection 作者 关键词 文字检测.多方向 ...

  8. 开发宏功能:excel中从sheet批量插入

    源数据如图: 宏操作: 生成数据后: 关键操作:在excel中启用开发工具,添加宏,然后添加模块即可,编辑完代码后,自定义功能按钮即可. Sub MakeDataSource() Dim isExis ...

  9. IT题库6-同步和异步

    同步就是许多线程同时共用一个资源,一个线程在用别的线程就要等待.异步相反,可以不用等待. 同步:发送一个请求,等待返回,然后才能再发送下一个请求:异步:发送一个请求,不等待返回,随时可以再发送下一个请 ...

  10. mySQL简单操作(二)

    1.like子句 [where clause like '%com'] '%' '_' 2.正则 3.union操作符 用于连接多个select语句,[distinct]删除重复数据 select c ...