download使用浅析

简介: download使用浅析

先来介绍一下我们的主角download让我们有一个简单认识,图中我们可以看到a标签的download属性,他是用来指定可以下载,值是filename图片来源


bVXCVE.webp.jpg


再来说说场景,网页上要下载东西,下载一个资源(软件.exe 、 压缩包.zip 、 图片.png 、 本文.txt ),我们通过url打开,发现有的可以下载,有的直接显示了,这就有点尴尬了。先说说为什么有的资源就直接显示了。


这是因为浏览器发现他可以自己打开了,所以他就觉得他要显示比如你的 .png .txt .html。那如果我们要下载怎么办?


这种东西呢,一般就两个办法,一个前端控制,一个后端控制。


后端控制 新给你一个url,加个下载头。浏览器一看,哎呦这个东西是要下载的,不需要打开,他就直接下载了。这样的下载需要后端人员配合,这就改代码。


前端控制 a标签的Download属性,加上以后,就是下载资源,这个好,想下载什么下载什么,但是呢,这种好用的东西在前端一般都有问题,什么问题?兼容问题呗,FF不支持跨域下载,非跨域下是可以下载的-测试地址


跨域情况,chrome里面设置filename不好使-测试地址同上。当然,还有我们要兼容的ie。


//这样写成一个function可以让我们不用界面上放一个a标签,换成js触发。
a = document.createElement('a');
a.download = filename;
a.href = 'https://segmentfault.com';
// 触发点击
document.body.appendChild(a);
a.click();
document.body.removeChild(a);


相关文章
|
3月前
|
前端开发
用 CSS Grid 轻松构建复杂布局
用 CSS Grid 轻松构建复杂布局
220 83
|
JavaScript
源码学习:Vite中加载环境变量(loadEnv)的实现
源码学习:Vite中加载环境变量(loadEnv)的实现
7674 0
|
Java Maven
Maven 3.8.1 报错 Blocked mirror for repositories
Maven 3.8.1 报错 Blocked mirror for repositories
1245 0
Maven 3.8.1 报错 Blocked mirror for repositories
|
容器
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
2522 0
|
自然语言处理 测试技术 Python
开源创新框架MoA,可极大增强大模型的能力
【7月更文挑战第16天】MoA(Mixture-of-Agents)是一种创新框架,通过分层架构融合多个LLMs的专业知识,增强大模型能力。在AlpacaEval等基准测试中表现优越,展示出利用LLMs集体优势的巨大潜力。然而,模型复杂性、代理选择、可解释性和鲁棒性是待解决的挑战。[论文链接](https://arxiv.org/abs/2406.04692)
359 2
|
12月前
|
XML JavaScript 数据格式
uni-app 根据用户不同身份显示不同的tabBar
uni-app 根据用户不同身份显示不同的tabBar
1043 62
|
SQL 人工智能 JavaScript
重磅!通义千问2.5正式发布
重磅!通义千问2.5正式发布
16999 8
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署

热门文章

最新文章