原本使用url是可以直接用window.href = url 来下载,但是这样的话会因为同源问题而download属性设置不生效导致文件      名还是下载的时候的url后缀文件名,使用这种方式的话文件名就生效

const xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘url’, true);
xhr.responseType = ‘blob’;
xhr.onload = function() {
if (this.status === 200) {
const blob = new Blob([this.response]);
const blobUrl = window.URL.createObjectURL(blob);
const a = document.createElement(‘a’);
a.href = blobUrl;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(blobUrl);
}
};
xhr.send();

前端使用a标签下载文件并修改文件名相关推荐

  1. js下载文件并修改文件名 / js判断文件后缀

    js下载文件并修改文件名 / js判断文件后缀 代码如下(示例): //handlerName:文件名 filePath:下载路径downloadFile (handlerName, filePath ...

  2. js下载文件及前端使用a标签下载文件download属性失效问题

    通常下载通过document.createElement创建虚拟a标签 function downloadFileUrl(val, url, fileName) {if (isVal) return ...

  3. 修改form_Vue通过阿里云oss的url连接直接下载文件并修改文件名

    我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码 我做的网页是点击文件直接下载 直接下载下来了,一 ...

  4. ajax下载文件并修改文件名

    function download(url, cb) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.respons ...

  5. Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。

    URL文件地址下载方法 一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 //文件下载downFile() {if ('download' in document. ...

  6. 前端通过url链接下载文件

    前端通过url链接下载文件 网上找到几个相关的方法,如下 // 方法一: const form = document.createElement('form'); form.setAttribute( ...

  7. a标签下载文件,js/jq创建a标签导出Excel文件

    a标签下载文件,js/jq 创建a标签导出Excel文件 1.设置dom(html) <button type="button" class="layui-btn ...

  8. 使用a标签下载文件,浏览器会直接打开解决方案

    使用a标签下载文件,浏览器会直接打开解决方案 背景 一.HTML中的a标签实现点击下载 二.即使使用a标签的download属性,chrome浏览器还是会打开 三.解决方案 解决方案一:使用ajax请 ...

  9. 解决浏览器下载文件时中文文件名乱码的问题

    解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...

  10. php header下载中文名称,PHP Header下载文件在IE文件名中文乱码问题

    解决PHP Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码就可以解决了. 解决方案一,我的页面是utf-8编码,代 ...

最新文章

  1. python一个类调用另一个类的方法_python 类静态方法实例化另一个类对象的问题?...
  2. rsync的配置应用
  3. C++语言之Lambda函数与表达式
  4. 中国SaaS死或生之五:目标、方法、钱,一个都不能少
  5. 多线程:线程池里的队列BlockingQueue
  6. 四则运算 结对编程
  7. 设计模式 学习笔记(2)单一职责原则、开放封闭原则、依赖倒转原则
  8. 面试干货 | Java 能否自定义一个类叫 java.lang.System?
  9. 安卓系统开机过程中logo和动画
  10. LInux系统木马植入排查分析 及 应用漏洞修复配置(隐藏bannner版本等)
  11. 浅析IRF虚拟化技术增强企业网络架构的弹性
  12. php单入口路由设计,php 简单路由实现
  13. maven+springmvc出现:java.sql.SQLException: Unknown system variable 'query_cache_size'
  14. python 上传文件
  15. 推箱子视频教学Java,推箱子游戏教学视频
  16. 在 Windows 10 上用超级终端配置 Cisco 3560 Series 交换机并创建 VLAN
  17. SolarWinds盛邀技术专业人士参加第八届年度THWACKcamp虚拟IT活动
  18. POJ 3674 Super Assassin 笔记 动态规划
  19. C语言有大约40个运算符,最常用的有这些
  20. iPad浏览器HTML5性能测试

热门文章

  1. Java面向对象编程,绘制思维导图(全面详细整理)
  2. 曼昆 宏观经济学 笔记
  3. 【OR】YALMIP 整数规划
  4. 初学者学习数据库的三个方向
  5. 你知道数字图像处理的经典Lenna图背后的故事吗
  6. 闲时看看, 比较有益的文章地址
  7. html设置js的cookies,javascript怎么修改cookie?
  8. 史上超全web渗透测试思维导图
  9. 10、Halcon图像条形码和二维码识别
  10. raspberry pi 4检查ch340/ch341驱动