首页 > 其他分享 >文件下载

文件下载

时间:2023-03-11 19:14:09浏览次数:28  
标签:文件 导出 href blob key downloadElement 下载

vue项目中导出Excel文件功能的前端代码实现

在项目中遇到了两种不同情况,

1、get请求导出文件,实现起来相对简单

// 导出数据
exportData() {
window.location.href = `/oes-content-manage/role/export-roles?size=${this.totalCount}&sidx=roleName&sord=desc&roleId=${this.searchForm.roleId}`;
},

直接把要传递的参数拼接在请求地址url后面即可

2、post请求方式

// 查询结果导出
exportResult() {
let key;
let param = {};
for (key in this.exportParam) {
if (key == 'page' || key == 'rows') {
continue;
} else {
param[key] = this.exportParam[key]
}
}
exportexcl(param).then(res => {
var blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}); // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型
var downloadElement = document.createElement('a');
var href = window.URL.createObjectURL(blob); // 创建下载的链接
downloadElement.href = href;
downloadElement.download = '导出数据.xlsx'; // 下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); // 点击下载
document.body.removeChild(downloadElement); // 下载完成移除元素
window.URL.revokeObjectURL(href); // 释放掉blob对象
})
},

这种方式用于传递参数比较多的情况,在这个项目中所传递参数达到了三四十个。

同时不要忘记在接口加上responseType属性。

// 查询结果导出
export function exportexcl(params) {
  return axios.post(servers + '/program/export', params, {
    responseType: 'blob'
  });
}

标签:文件,导出,href,blob,key,downloadElement,下载
From: https://www.cnblogs.com/yidejiyi/p/17206702.html

相关文章

  • YMAL配置文件
    初识YAMLYAML是"YAMLAin'taMarkupLanguage"(YAML不是一种标记语言)的递归缩写。在最初开发这种语言时,YAML其实是:"YetAnotherMarkupLanguage"(仍是一种标记语言)。Y......
  • shell编程语言-文件的统计与排序
                     ......
  • PLSQL官方下载、安装和使用完全指南
    1、PLSQL介绍我们常说的plsql指的是plsqldeveloper这个oracle数据库客户端连接工具,这个工具以其方便和强大被广大开发者喜爱。这个工具是由allroundautomations公司开发,......
  • TED英语双语字幕下载
    烧干脑细胞,写了一个小工具放网上了,这个小工具只针对B站,且只针对有上传过字幕的视频使用,所谓有上传过字幕指的是可以在字幕那里选择字幕而不是只有一个自动字幕或者啥也没得......
  • 在music player下Playlists中My recordings查看录音文件名显示错误
    1.修改SoundRecorderService.java中   publicvoidonScanCompleted(Stringpath,Uriuri) 将Stringtitle=simpleDateFormat.format(date);替换成:   ints......
  • oracle 口令文件
    口令文件介绍以特权用户身份(SYS/SYSDBA/SYSOPER)登录ORALCE数据库有两种验证方法:即使用与操作系统集成的身份验证使用ORALCE数据库的密码文件进行身份验证。ORALCE......
  • C语言读写表格文件
    1.csv文件简介  逗号分隔值(Comma-SeparatedValues,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是......
  • 把本地js文件生成本地可访问的url
    1、下载nginx压缩包2、解压3、进入文件夹nginx->conf->nginx.conf,查看第36行的端口号4、把自己本地的js文件放进文件夹nginx->html中5、拼接ip+端口号+js文件名即可访......
  • Python调用Motrix下载器下载
    打开Motrix运行importrequests,jsonjsonreq=json.dumps({'jsonrpc':'2.0','id':'qwer','method':'aria2.addUri',......
  • android 视频文件不能进行幻灯片的播放
    packages\apps\Gallery2\src\com\android\gallery3d\app\SlideshowPage.java中:1、添加:importcom.android.gallery3d.data.FilterSource;//addedbyMTKforalps0099994......