页面结构

<el-upload style="width: 93%" action="/stap/systemManage/weakPassword/excelImport" accept=".xls,.xlsx" name="assetFile" multiple ref="upload" :before-upload="beforeUpload" :show-file-list="false" :http-request="uploadFile">
<el-input class="input-with-select" placeholder="请选择xlsx/xls格式文件上传" v-model="input3" >
<el-button style="position: relative;left: -0.5rem;" slot="append" type="primary">选择文件</el-button>
</el-input>
</el-upload> <el-button type="primary" @click="submit">提交</el-button> <div @click="downloadTemplate">下载</div>

函数

   // 文件上传前的判断
beforeUpload(file) {
var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
const extension = testmsg == "xlsx"||testmsg == "xls";
if (!extension) {
this.$message({
message: "上传文件只能是xlsx或xls格式",
type: "warning",
});
}
return extension;
},
//文件上传到input框
uploadFile(params) {
this.input3 = params.file.name;
this.formFile = new FormData();
this.formFile.append("file", params.file);
},
//导入请求 (formDate格式请求体)
submitAsset() {
+ if (this.input3 == "") {
+ this.$message({
+ type: "warning",
+ message: "请选择想要上传的文件!",
+ });
+ } else {
+ this.importLoading = true;
+ this.$axios({
+ url: "/stap/systemManage/weakPassword/excelImport",
+ method: "post",
+ data: this.formFile,
+ timeout: 10 * 60 * 1000,
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ }).then((res) => {
+ if (res.data.result) {
+ this.$message({type: 'success',message:res.data.message||'弱密码字典列表导入成功'});
+ this.$emit("tableInit"); //导入后刷新列表
+ this.closeDialog();
+ this.input3=''
+ }else{
+ this.$message.error(res.data.message)
+ }
+ })
+ .catch(() => {
+ }).finally(()=>{
+ this.importLoading = false;
+ })
}
},
//下载文件
downloadTemplate(){
this.$axios({method:'get',url:'/stap/systemManage/weakPassword/download',responseType: 'blob'}).then(res=>{
if (res.data.result != false) {
+ this.$message({type: 'success', message: "下载成功!"})
+ let aTag = document.createElement('a');
+ aTag.download = '弱字典密码列表模板.xlsx';
+ aTag.style.display = 'none'
+ let blob = new Blob([res.data],{type:'application/vnd.ms-excel'});
+ aTag.href = URL.createObjectURL(blob);
+ document.body.appendChild(aTag)
+ aTag.click();
+ document.body.removeChild(aTag)
+ }
+ })
+ },

blob对象excel文件上传下载的更多相关文章

  1. ABAP EXCEL 文件上传下载 用SMW0

    T-CODE: SMW0 在这里只介绍二进制数据,HTML模板的上传也一样. 另外也可以用CBO TABLE管理文件 可以看我另一个博文:CBO TABLE管理文件上传下载 选择 二进制 写包名: 进 ...

  2. [SAP ABAP开发技术总结]客户端文本文件、Excel文件上传下载

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. 基于Spring Mvc实现的Excel文件上传下载

    最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...

  4. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  5. salesforce 零基础学习(四十二)简单文件上传下载

    项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...

  6. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  7. 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  8. ssh框架文件上传下载

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【FTP】FTP文件上传下载-支持断点续传

    Jar包:apache的commons-net包: 支持断点续传 支持进度监控(有时出不来,搞不清原因) 相关知识点 编码格式: UTF-8等; 文件类型: 包括[BINARY_FILE_TYPE(常 ...

  10. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

随机推荐

  1. [常用工具] live555的搭建

    live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.使用live555可以播放rtsp流.本文主要是在linux ...

  2. python之路55 cookie与session 操作 把模块变成字符串进行导入

    django中间件三个了解的方法 1.process_view 路由匹配成功之后执行视图函数/类之前自动触发(顺序同process_request) 2.process_exception 视图函数/ ...

  3. java基础篇——异常

    异常的三种类型 1.检查型异常:通常是由用户错误或者问题引起,是程序员无法预见的,例如用户要打开一个不存在的文件... 2.运行时异常:最有可能被程序员忽略的异常,可以在编译时被忽略,例如无限递归调用 ...

  4. linux 基础之输入输出重定向

    输入输出重定向 输出重定向 正确命令 > 文件 (覆盖) 正确命令 >> 文件(追加) 错误命令 2> 文件(覆盖) 错误命令 2>>文件(追加) 命令> 文 ...

  5. vim 使用快捷键

    1.从电脑的txt文件中复制内容到vim中 复制你喜欢的任何内容,在Vim中,按下Shift+Insert将剪贴板中的内容粘贴到文件中. 确保你在Insert Mode.只要我尝试过,它在Ubuntu ...

  6. 超详细版本vue+capacitor(自定义capacitor插件)编写移动端应用

    我的环境 Node v16.13.0 npm v8.1.0 mac的话需要安装Xcode windows的话需要Java 8 JDK和Android Studio软件 本文以安卓开发为例 找一个自己喜 ...

  7. ADG无法同步:TT00进程报错 Error 12514

    环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步. 1.查看报错信息 2.oerr查看该错误说明 3.尝试sql ...

  8. 宇宙无敌搞笑轻松弄懂java动态代理

    https://www.cnblogs.com/ferryman/p/13170057.html jdk动态代理和cglib动态代理区别 https://blog.csdn.net/shallynev ...

  9. java基础(六):面向对象

    面向对象 面向对象:以类的方式组织代码,以对象组织数据 特性: 封装 继承 多态 类:抽象概念 对象:具体事物 面向对象是java学习的重中之重,毕竟java就是一个面向对象的语言~ 类 = 属性+方 ...

  10. 9月21日内容总结——计算机基础知识、typora软件的安装与软件内的部分markdown语法

    今日内容总结 目录 今日内容总结 一.路径 1.绝对路径 2.相对路径 二.计算机的本质 三.计算机的五大组成部分 1.控制器 2.运算器 PS:CPU=控制器+运算器 3.存储设备 4.输入设备 5 ...