前端将blob转换为可下载的url及下载

一.转换

javascript 复制代码
//将blob转换为url
const changeBlobToUrl = blobData => {
	return new Promise(resolve => {
		//创建Blob对象
		const blob = new Blob([blobData])

		// 创建FileReader对象
		const reader = new FileReader()

		reader.onload = function (e) {
			resolve(e.target.result)
		}

		// 使用FileReader读取Blob数据
		reader.readAsDataURL(blob)
	})
}

二.下载

javascript 复制代码
//前端下载blob的url类型文件
const downloadFileByBlobUrl = (url: string, name: string) => {
	aDownload(url, name)
	URL.revokeObjectURL(url)
}


const aDownload = (url, name) => {
	// 创建<a>元素
	const link = document.createElement("a")
	// 设置<a>元素的属性
	link.href = url
	link.download = name
	// 将<a>元素添加到文档中
	document.body.appendChild(link)
	// 触发点击事件
	link.click()
	// 移除<a>元素
	document.body.removeChild(link)
}
相关推荐
踏着七彩祥云的小丑3 分钟前
Python——字符串常用操作
开发语言·python
成都易yisdong8 分钟前
基于C#和WMM2025模型的地磁参数计算器实现
开发语言·c#
LIO11 分钟前
Vue3 + Vite + Pinia + TypeScript 项目完整搭建与实战指南
前端·vue.js
kilito_0112 分钟前
vue官网例子 讲解2
前端·javascript·vue.js
蜡台12 分钟前
Vue实现动态路由
前端·javascript·vue.js·router
Sss_Ass14 分钟前
在Qt Creator创建并编写第一个程序
开发语言·qt
xiao阿娜的妙妙屋118 分钟前
当AI Agent开始自我进化,我们普通人应该怎么办?
前端
sudo_jin19 分钟前
从“谁调用指向谁”到“手写Bind源码”,彻底搞懂JavaScript的this机制
前端·javascript
小蜜蜂dry20 分钟前
nestjs实战-登录、鉴权(二)
前端·后端·nestjs