blob对象excel文件上传下载
页面结构
<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文件上传下载的更多相关文章
- ABAP EXCEL 文件上传下载 用SMW0
T-CODE: SMW0 在这里只介绍二进制数据,HTML模板的上传也一样. 另外也可以用CBO TABLE管理文件 可以看我另一个博文:CBO TABLE管理文件上传下载 选择 二进制 写包名: 进 ...
- [SAP ABAP开发技术总结]客户端文本文件、Excel文件上传下载
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 基于Spring Mvc实现的Excel文件上传下载
最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...
- 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
----------------------------------------------------------------------------------------------[版权申明: ...
- salesforce 零基础学习(四十二)简单文件上传下载
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
- 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...
- ssh框架文件上传下载
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【FTP】FTP文件上传下载-支持断点续传
Jar包:apache的commons-net包: 支持断点续传 支持进度监控(有时出不来,搞不清原因) 相关知识点 编码格式: UTF-8等; 文件类型: 包括[BINARY_FILE_TYPE(常 ...
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
随机推荐
- Kali Win-KeX SL
内容: 概述 先决条件 用法 开始 声音支持 多屏支持 停止 概述 无缝模式下的 Win-KeX 将在 Windows 桌面的屏幕顶部启动 Kali Linux 面板. 通过面板启动的应用程序将与 M ...
- 使用Prometheus监控docker compose方式部署的ES
需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana ...
- ArcGIS工具 - 统计工具数量
ESRI作为GIS行业中的龙头,代表产品ArcGIS也在不断地优化和升级,从10.0开始已发布了8个版本,其工具箱(ToolBox)是它一个特色,每个版本的工具箱数量是不相同的,为源地理来教您如何统计 ...
- Codeforces Gym 104059B - Breeding Bugs
简要题意 Virtual Judge 传送门 | Codeforces Gym 传送门 给出一个长度为 \(n\) 的序列 \(a\),你需要从中选出一些数,使其两两相加不为质数.输出最大可以选择多少 ...
- P5690 [CSP-S2019 江西] 日期
简要题意 给你一个格式为 \(\texttt{MM-DD}\) 的日期.你每一次可以更改一个整数,花费 \(1\) 的代价.求将该日期改为一个合法的日期的最小代价.(注:\(2\) 月视为 \(28\ ...
- 数论专项复习(一)扩展欧几里得算法(exgcd)
简介 扩展欧几里得算法(简称扩欧,exgcd),用来求下列方程的一组解: \[ax+by=(a,b) \] 算法介绍 1. 裴蜀定理 裴蜀定理(Bézout's lemma):若 \(a\in \ma ...
- 洛谷P2036 PERKET题解
先来审题,主要有以下几个条件: 酸度求乘积,苦度求和,两者相减的值最小(当然是绝对值). 下面附上AC代码: #include<bits/stdc++.h> //万能头文件 using n ...
- [Codeforces Round #794 (Div. 2)] D. Linguistics
我是什么东西艹艹艹 <我离正解只差个sort> 首先,观察字符串,可以发现:若存在形似\(AA--BB\)或\(BB--AA\)等有两个相同的字符挨在一起的情况,则我们在它们中间放一块隔板 ...
- Java后台如何接收与处理JSON类型数据
项目开发中偶尔会使用到某个为JSON类型的字段,一个字段中又包含多个其他的字段. 这种设计方式是根据实际需要来进行处理的,比如规则可能包含多条,每一条规则又包含 多个字段:再比如一些特殊的应用场景如标 ...
- Quarkus入门体验,22ms启动一个Web服务
简介 Quarkus是类似于Spring Boot的框架,可以方便大家进行Java开发.利用GraalVM的魔力,能更好的适应云原生的场景,极快的启动速度. 创建项目 在IDEA就直接有创建Quark ...