首页 > 其他分享 >下载常用方法

下载常用方法

时间:2024-07-29 18:18:18浏览次数:6  
标签:常用 let URL link download params document 方法 下载

**方法一**
//获取文件流,将文件流转为文件通过<a></a>导出,中间可以做处理
let url = baseUrl + '接口地址' + token
axios.get(url,{responseType: 'blob',timeout:600000}).then(async res => {
	if (res.data.size < 100) {
		let fileReader = new FileReader();
		fileReader.readAsText(res.data);
		let jsonData = await new Promise((resolve, reject) => {
			fileReader.onload = function (result) {
				resolve(JSON.parse(result.target.result))
			}
		})
		if (!jsonData.success) {
			this.$message.error(jsonData.description)
			this.downloadLoading = false
			return
		}
	}
	let fileUrl = window.URL.createObjectURL(new Blob([res.data]))
	let link = document.createElement("a")
	link.href = fileUrl
	link.style.display = 'none';
	link.setAttribute('download', '文件.zip')
	document.body.appendChild(link)
	link.click()
	window.URL.revokeObjectURL(fileUrl); // 释放URL 对象
	document.body.removeChild(link);
	fileUrl = null //便于垃圾回收
	if (this.downloadLoading) {
		this.downloadLoading = false
	}
})

**方法二**
直接导出
params = {
	url: baseUrl + '接口地址?token=' + token,
		fileName: '',
	}
 download(params)
function download(params) {
    if ('download' in document.createElement("a")) {
        let link = document.createElement("a");
        link.style.display = 'none';
        link.href = params.url;
        link.target = '_blank'
        params.fileName && (link.download = params.fileName);
        document.body.appendChild(link);
        link.click();
        URL.revokeObjectURL(link.href); // 释放URL 对象
        document.body.removeChild(link);
    }
}

标签:常用,let,URL,link,download,params,document,方法,下载
From: https://www.cnblogs.com/LiZiheng/p/18330737

相关文章

  • elementplus图片预览操作按钮栏增加下载
    1.实现效果:elementplus图片预览组件,自定义增加一个下载按钮,以及下载功能,如图 2.使用的vue3和element plus版本"element-plus":"2.7.6",3.具体代码:(1)使用#viewer插槽:<el-image:title="点击预览":src="getBowserUrl(scope.row.filePath)":z......
  • C#方法练习
    提示用户输入用户名和密码,写一个方法来判断用户输入的是否正确,返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息,如果用户名错误,除了返回登陆结果之外,还要返回一个"用户名错误",“密码错误” ​ Console.WriteLine("请输入用户名"); stringuserName=Con......
  • PyCharm 2020 下载 安装 激活 汉化
    解压PyCharm 压缩包到当前目录下:点击此处蓝色字体下载压缩包提取码xw41鼠标右键点击PyCharmprofessional2020 选择 以管理员身份运行 :点击Next:点击Browse选择安装目录点击Next:勾选全部 点击Next:点击Install:等待安装中:选择Rebootnow......
  • shell执行脚本的方法
    执行脚本的方法(1)bash./filename.sh(产生子进程,再运行,使用当前指定的bashshell去运行)(2)./filename.sh(产生子进程,再运行,使用脚本里面指定的shell去运行。使用该种方式执行需要x权限)(3)source./filename.sh(source命令是一个shell内部命令,其......
  • Cmake配置Qt程序调用python库的配置方法
    在网上找了一些配置方法,最简单直接的是在cmake中加入如下语句:set(PYTHON_EXECUTABLE/Python/Python311/python.exe)include_directories("/PythonPython311/include")link_directories("/PythonPython311/libs")link_libraries(python3.lib)link_libraries(python311.lib)直......
  • Jenkins结合SVN报错E230001: Server SSL certificate verification failed的解决方法
    报错如下:svn:E230001:Commitfailed(detailsfollow):svn:E230001:UnabletoconnecttoarepositoryatURL'https://192.168.0.99/svn/xxx/dat'svn:E230001:ServerSSLcertificateverificationfailed:certificateissuedforadifferenthostname,is......
  • Markdown 常用语法
    上一篇简单介绍了Markdown是什么,以及如何使用,本篇就来详细说说Markdown的常见语法。‍注意,并不是所有编辑器,都支持所有的Markdown语法,如果遇到失效的也不必疑惑。此外,不同的编辑器的语法可能有点不同。‍标题语法格式:#一级标题##二级标题###三级标题####四级......
  • 常用Git 管理工具
    图形界面工具GitHubDesktopGitHub开发的一款跨平台的图形化Git工具,支持Windows、macOS和Linux。特点包括简洁的用户界面、易于创建和管理仓库、提交变更、分支管理等。SourceTreeAtlassian提供的一款免费的跨平台Git和Mercurial客户端。支持Windows和......
  • 【仿真建模-传热学】空间区域的离散化方法
    Author:赵志乾Date:2024-07-29Declaration:AllRightReserved!!!1.概念        区域离散化:将区域划分成互不重叠的子区域,并确定节点在子区域中的位置及其所代表的控制容积;区域离散化过程可得到四种几何要素:节点:需求解未知物理量的几何位置;控制容积:应用控制方程或守恒......
  • 前端实现图片或视频预览的三种方法总结
    在前端开发中,实现图片或视频预览是一个常见的需求。以下是三种常用的方法来实现图片或视频的预览功能:1.HTML标签直接预览1.1图片预览使用<img>标签可以直接显示图片,并且可以通过src属性动态加载图片。<imgsrc="image.jpg"alt="预览图"/>1.2视频预览使用<video>......