iview 获取文件本地路径_使用vue+iview实现上传文件及常用的下载文件的方法

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

ref="upload"

multiple='true' //是否支持多文件上传

:show-upload-list="true" //显示上传的文件

:before-upload="handleUpload" //上传前需要的一些操作

:data="uploadFile"  //上传的文件保存的地方

:on-success="uploadSuccess" //上传成功时调用的方法

:headers='{"Authorization": session}' //这里是设置的请求头token

:action="actionUrl" //这是上传时的后台接口

>

选择Excel文件:选择上传文件

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

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 = $('

').attr('action',url1).attr('method','post');

form.append($('').attr('type','hidden').attr('name','Authorization').attr('value',sessionId));

form.appendTo('body').submit().remove();

},

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

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

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

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

win端git连接私服仓库&plus;上传本地项目&plus;从服务器下载文件到win

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

vue 阿里云上传组件

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

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

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

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

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

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

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

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

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

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

这个就看代码,哈哈哈哈哈  需要用到的jar包是: commons-net

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

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

随机推荐

SQL Server索引进阶第五篇:索引包含列 &period;

包含列解析所谓的包含列就是包含在非聚集索引中,并且不是索引列中的列.或者说的更通俗一点就是:把一些底层数据表的数据列包含在非聚集索引的索引页中,而这些数据列又不是索引列,那么这些列就是包含列.同时,这 ...

RMAN备份与恢复之DataBase

1   准备 [oracle@TEST144239 /]$ sqlplus /nolog SQL Production :: Copyright (c) , , Oracle. All rights ...

4&period;接口隔离原则(Interface Segregation Principle)

1.定义 客户端不应该依赖它不需要的接口: 一个类对另一个类的依赖应该建立在最小的接口上. 2.定义解读 定义包含三层含义: 一个类对另一个类的依赖应该建立在最小的接口上: 一个接口代表一个角色,不应 ...

ASP&period;NET 数据绑定常用代码及其性能分析

用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset).不必关心数据的类型eval会把这个数据对象转换为一个字符串.在底层绑定做了很多工作,使用了反射性能.正因为使 ...

SerializableObj

package JBJADV003; import java.io.*; public class SerializableObj { /** * @param args * @throws IOEx ...

4&period;1 socket

socket  背景概念 脑图结构 OSI 模型 socket 概念特性 脑图结构 理解示意图  额外补充 Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口. 在设计模式中 ...

Kubernetes Kubelet安全认证连接Apiserver

Kubelet使用安全认证连接Apiserver,可以用Token或证书连接.配置步骤如下. 1,生成Token命令 head -c /dev/urandom | od -An -t x | tr - ...

几乎考虑到了每个细节的php图片上传

< ...

BZOJ2142 礼物 【扩展Lucas】

题目 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E 心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多.小E从商店中购买了n件礼物, ...

删除datatable的行后,出现&OpenCurlyDoubleQuote;不能通过已删除的行访问该行的信息”的错误,即DeletedRowInaccessibleException

删除datatable的行后,出现“不能通过已删除的行访问该行的信息”的错误 =========================================================== 采 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 首先,在项目中引入iviewvue-resource: ``` import Vue from 'vue' import iView from 'iview' import 'iview/dist/styles/iview.css' import VueResource from 'vue-resource' Vue.use(iView) Vue.use(VueResource) ``` 2. 在vue文件使用iview的Select组件实现省市选择: ``` <template> <div> <Select v-model="province" @on-change="getCityList"> <Option v-for="(item, index) in provinceList" :value="item.id" :key="index">{{ item.name }}</Option> </Select> <Select v-model="city"> <Option v-for="(item, index) in cityList" :value="item.id" :key="index">{{ item.name }}</Option> </Select> </div> </template> <script> export default { data () { return { province: '', city: '', provinceList: [], cityList: [] } }, mounted () { this.getProvinceList() }, methods: { // 获取省份列表 getProvinceList () { this.$http.get('/api/province').then(res => { this.provinceList = res.data }) }, // 获取城市列表 getCityList () { this.$http.get('/api/city', { params: { province: this.province } }).then(res => { this.cityList = res.data }) } } } </script> ``` 3. 在后台实现省市数据接口: 省份接口: ``` app.get('/api/province', function(req, res) { res.json([ {id: 1, name: '北京'}, {id: 2, name: '上海'}, {id: 3, name: '广东省'}, {id: 4, name: '湖南省'} ]) }) ``` 城市接口: ``` app.get('/api/city', function(req, res) { var provinceId = req.query.province var cityList = [] switch(provinceId) { case '1': cityList = [ {id: 101, name: '北京市'}, {id: 102, name: '海淀区'}, {id: 103, name: '朝阳区'}, {id: 104, name: '东城区'}, {id: 105, name: '西城区'} ] break case '2': cityList = [ {id: 201, name: '上海市'}, {id: 202, name: '浦东新区'}, {id: 203, name: '徐汇区'}, {id: 204, name: '黄浦区'}, {id: 205, name: '静安区'} ] break case '3': cityList = [ {id: 301, name: '广州市'}, {id: 302, name: '深圳市'}, {id: 303, name: '珠海市'}, {id: 304, name: '佛山市'}, {id: 305, name: '东莞市'} ] break case '4': cityList = [ {id: 401, name: '长沙市'}, {id: 402, name: '株洲市'}, {id: 403, name: '湘潭市'}, {id: 404, name: '衡阳市'}, {id: 405, name: '邵阳市'} ] break default: break } res.json(cityList) }) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值