JavaScript 下载文件并保持原文件名称
<script>// 获取文件名function fileNameFromHeader (disposition) {var result = null;if (disposition && /filename=.*/ig.test(disposition)) {result = disposition.match(/filename=.*/ig);return decodeURI(result[0].split('=')[1]);}return null;}
function downloads() {var url = '/down_excel';var xhr = new XMLHttpRequest();xhr.open('GET', url, true); // 也可以使用POST方式,根据接口xhr.responseType = "blob"; // 返回类型blob// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑xhr.onload = function () {// 请求完成if (this.status === 200) {// 返回200var blob = this.responsevar filenames = fileNameFromHeader(xhr.getResponseHeader('Content-Disposition'));var reader = new FileReader();reader.readAsDataURL(blob); // 转换为base64,可以直接放入a表情hrefreader.onload = function (e) {// 转换完成,创建一个a标签用于下载var a = document.createElement('a');a.download = filenames.slice(1,filenames.length-1); //'data.xlsx';a.href = e.target.result;$("body").append(a); // 修复firefox中无法触发clicka.click();$(a).remove();}}};// 发送ajax请求xhr.send()}
</script>
注:此代码只是个人根据当时的环境满足了当时的需求,记录下来用做后续参考!如有问题,请检查软硬件环境是否一致,由于时间精力有限,大部分未做详细环境描述。
JavaScript 下载文件并保持原文件名称相关推荐
- 偷偷自动拷贝U盘文件(按照原文件夹格式保存)实用
以前在学校上电脑课的时候总是馋老师U盘的身子,心想要是能把他里面的的课件拷贝下来就好了.不仅看得清楚还能省下拍PPT再抄到书上的麻烦,于是乎他来了. 这个拷贝软件打包以后可以完全静谧拷贝,不需要人工干 ...
- Windows压缩指定文件并删除原文件内容bat脚本
环境 E盘scan文件夹下有IT.HT.SCM.经管等部门文件夹,各部门文件夹下存放着各自的扫描文件(PDF).表格等内容,因是临时存放,所以需设定定时删除任务 需求 结合windows任务计划,每天 ...
- linux压缩文件不保留原文件
tar -zcvf 9701.tar.gz 9701* --remove-files --remove-files 在添加文件至归档后删除它们 //使用该参数后,将在文件加入压缩文件后 ...
- linux命令解压文件到指定目录并覆盖,linux当前目录下解压zip文件并覆盖原文件如何实现?...
特意给你在centos上测试了下:unzip -u -o zuidaima.zip Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x ...
- python对文件的处理_python文件处理fileinput使用方法详解
这篇文章主要介绍了python文件处理fileinput使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 fileinput模块 ...
- 将pyx文件编译成pyd文件(很多坑,已解决)
项目场景: Faster R-CNN项目,将pyx文件编译成pyd文件(很多坑,请注意) 项目环境 python 3.6 – conda的虚拟环境 TensorFlow 1.15.0 win 10 问 ...
- Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
Allegro PCB Design GXL (legacy) version 16.6-2015 参考:https://blog.csdn.net/qq_29761395/article/detai ...
- python 复制某文件到另一个文件夹
你可以使用 Python 的 shutil 库中的 copy 函数来复制文件. 示例代码: import shutil# 复制文件 shutil.copy("原文件路径", &qu ...
- python3.7保存文件_Python3.7之文件操作
一.基本操作 基于字符的读取(r),写入(w)与追加(a) 1.mode='r' f = open(file='文件读取.txt', mode='r') print(f.read()) 2.mode= ...
- javascript下载文件几种方式,接收后台返回流下载或直接下载文件
目录 1 javascript下载文件7中方式 1.1 window.location.href下载 1.2 window.location下载 1.3 iframe下载 1.4 form表单的形式下 ...
最新文章
- uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...
- git---gui使用
- VMware ESX Server 4(vSpere)测试记录
- linux下eclipse cdt引用函数库设置问题
- Linux opencv安装与编译
- 检索数据_14_返回不重复的记录
- 为什么 0.1 + 0.2 = 0.300000004
- linux学习查看系统资源和磁盘分区
- mybatis xml sql
- 免费语音识别_免费 语音识别_免费语音识别api - 云+社区 - 腾讯云
- Javaworkers团队第五周项目总结
- 坐标系转换--筛选高于RMS的强源-------ska暑期训练
- Linux lpadmin 命令 增加usb打印机
- C++多线程1——pthread
- java创建exchange邮箱_创建Exchange邮箱用户
- C语言从入门到入土---初识C语言
- 威联通使用Typecho搭建博客
- div设置为可获取焦点并且判断是否已获取焦点的方法
- Xcode13 新建项目 Products 目录显示方法
- 比起结果过程更加重要