页面结构

<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. 一个简单的rust字符串时钟

    1.简介   用rust写的一个简单的练手的demo,一个字符串时钟,在终端用字符串方式显示当前时间.本质是对图片取灰度,然后每个像素按灰度门限用星号代替灰度值,就把图片变为由星号组成的字符型图案.把 ...

  2. 一款极简的流媒体Web服务器(Streaming Media Web Server),提供视频音乐的在线播放功能

    一款极简的流媒体Web服务器(Streaming Media Web Server),提供视频音乐的在线播放功能 A extremely simple web server of streaming ...

  3. Vue前后端分离实现登录的一个简单demo

    1.建立一个Maven项目,并添加Spring相关依赖 2.编写Controller类相应的接口和配置类 LoginController类,编写接口的业务逻辑 package com.springbo ...

  4. python进阶之路3之数据类型

    内容概要 pycharm下载与使用 python语法之注释 python语法之变量与常量 python基本数据类型(先大致了解有哪些) pycharm下载与使用 1.该软件分为收费版和免费版 免费版本 ...

  5. [C++]C++11:Function与Bind

    std::function 它是函数.函数对象.函数指针.和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针. 以统一的方式处理函数.函数对象.函数指针.和成员函数. ...

  6. [cocos2d-x]关于Action

    Action的分类 第一种:FiniteTimeAction类:有限时间的动作类 第二种:Follow类:节点跟随另一种节点的类 第三种:Speed类:节点执行速度类 第一种有限时间的动作类又分为瞬时 ...

  7. java 进阶P-5.5+P-6.1

    框架加数据 以框架+数据来提高可扩展性 命令的解析是否可以脱离if-else 定义一个Handler来处理命令 用Hash表来保存命令和Handler之间的关系 抽象 Shape是什么形状 Shape ...

  8. 使用VMware Converter Standalone P2V(物理机转换虚拟机)

    使用VMware Converter Standalone P2V(物理机转换虚拟机) 环境说明: 1.P2V软件:VMware-converter-en-6.3.0-20575345  下载地址:v ...

  9. KingbaseES libstdc++.so.6/ version 'CXXABI_1.3.8'问题处理

    ERROR:libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ...) 此文是以 CentOS Linux 7 (AltArc ...

  10. [​DuckDB] 多核算子并行的源码解析

    DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称.笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文< ...