vue3文件下载功能

这篇具有很好参考价值的文章主要介绍了vue3文件下载功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

定义方法:

utils.js

/**
 *
 * @param url 目标下载接口
 * @param query 查询参数
 * @param fileName 文件名称
 * @returns {*}
 */
export function downBlobFile(url: any, query: any, fileName: string) {
	return request({
		//
		url: url,
		method: 'get',
		responseType: 'blob',
		params: query,
	}).then((response) => {
		handleBlobFile(response, fileName);
	});
}

/**
 * blob 文件刘处理
 * @param response 响应结果
 * @returns
 */
export function handleBlobFile(response: any, fileName: string) {
	// 处理返回的文件流
	const blob = response;
	if (blob && blob.size === 0) {
		ElMessage.error('内容为空,无法下载');
		return;
	}
	const link = document.createElement('a');

	// 兼容一下 入参不是 File Blob 类型情况
	var binaryData = [] as any;
	binaryData.push(response);
	link.href = window.URL.createObjectURL(new Blob(binaryData));
	link.download = fileName;
	document.body.appendChild(link);
	link.click();
	window.setTimeout(function () {
		// @ts-ignore
		URL.revokeObjectURL(blob);
		document.body.removeChild(link);
	}, 0);
}

使用

test.vue文章来源地址https://www.toymoban.com/news/detail-664508.html

  // 参数1:导出接口,参数2:参数,参数3:文件名
  downBlobFile('/xxx/xxx/xxx', {id}, `附件.${type}`);

到了这里,关于vue3文件下载功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 跨域问题问题小结(vue3)---处理http文件链接下载失败

    请求后端 提供的链接居然是一个http的文件链接 首先对这个地址做了正则判断替换成https 这样做的原因是 浏览器会认为在https下打开的http链接是不安全操作,所以会进行拦截,或者访问不成功 替换后运行报错 错误信息告诉我们 混合请求 (两个地址域名不一致)是被浏览器

    2024年02月08日
    浏览(41)
  • 【java】java实现大文件的分片上传与下载(springboot+vue3)

    源码: https://gitee.com/gaode-8/big-file-upload 演示视频 https://www.bilibili.com/video/BV1CA411f7np/?vd_source=1fe29350b37642fa583f709b9ae44b35 对于超大文件上传我们可能遇到以下问题 • 大文件直接上传,占用过多内存,可能导致内存溢出甚至系统崩溃 • 受网络环境影响,可能导致传输中断,只能重

    2024年02月02日
    浏览(42)
  • vue3中将后端传来的json文件转成excel下载到本地

            在浏览器中将JSON格式数据以excel文件的形式下载。该组件是基于[this thread] (https://stackoverflow.com/questions/17142427/javascript-to-export-html-table-to-excel)提出的解决方案。支持Vue3.2.25及以上版本使用 重要提示! Microsoft Excel中的额外提示         此组件中实现的方法使用H

    2024年02月15日
    浏览(30)
  • .net6Api后台+VUE3前端实现上传和下载文件全过程

    首先本文参考的是,感谢博主: net6WebApi上传下载文件_cduoa的博客-CSDN博客_webapi下载文件 在博主的基础上,增加了新的功能,代码中有注明,并且使用VUE3前端实现。 后端部分: 1.首先建立IFileService文件 2.建立FileService文件 3.增加FileController文件 4.Program文件中,进行配置和跨域

    2023年04月09日
    浏览(44)
  • Vue2-文件上传、下载场景功能

    在项目开发中,上传文件的应用场景非常的多,一般情况下,上传的接口都是由公司内部自己开发一套适用于任何场景都可以使用的接口,但是这意味着该接口所涉及到的工作量与技术点就非常的多,且不稳定。于是大公司选择了前者自己研发,小公司则选择了性价比更高的

    2024年02月07日
    浏览(33)
  • 【Vue 】文件下载和导出功能的实现方法

    在 Vue 项目中,实现文件下载和列表导出功能的方式有很多种,下面以两种常见方法为例进行说明。 这种方式通常需要在服务端提供相应的接口,前端通过发送请求调用该接口来实现下载和导出功能。具体步骤如下: 在服务端实现下载和导出功能,并提供相应的接口,例如

    2024年02月15日
    浏览(37)
  • vue3+element 分片上传 分片下载功能实现

    思路:分片上传是把一个大文件切割若干等份,前端循环调用上传接口进行上传。分片下载也是一样的道理,前端调用接口拿到文件总大小,计算分割成多少份,循环调用下载接口获取每一段的文件流,获取全部文件片段,进行合并下载。 一、安装依赖 用于获取文件的唯一

    2024年02月10日
    浏览(82)
  • SpringBoot整合hdfs,实现文件上传下载删除与批量删除,以及vue前端发送请求,实现前后端交互功能;

    部分工具类代码参考文章:https://blog.csdn.net/qq_27242695/article/details/119683823 前端实现效果 HDFSController HDFS FileInterface (文件接口) HDFS FileImplService (文件接口实现类) HDFSConfig(从yaml读取文件) HDFSUTils 前端vue代码:

    2024年02月16日
    浏览(68)
  • Vue下载及配置(Vue文件和路由文件)

    目录 Vue文件2.7.14版本: Vue路由:  结束: Vue文件2.7.14版本: Vue  不支持  IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有 兼容ECMAScript5的浏览器 Vue文件下载地址:安装 — Vue.js (vuejs.org)    这个版本就是之前博客一直用的版本 ,也是Vue2中最稳

    2024年02月12日
    浏览(33)
  • vue:文件下载

    1.下载方法是通过创建 Blob 对象,并使用 URL.createObjectURL 来生成下载链接,最终通过创建 a 元素并触发点击实现文件下载。 获取到 HTTP 响应后,以下是对每一行代码的解释: if (res.status === 200) { : 这一行代码检查 HTTP 响应的状态是否为 200,表示请求成功。只有在成功的情况下

    2024年01月18日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包