当前位置: 首页 > news >正文

Vue 实现通过URL浏览器本地下载 PDF 和 图片

1、代码实现如下:

根据自己场景判断 PDF 和 图片,下载功能可按下面代码逻辑执行

const downloadFile = async (item: any) => {
    try {
        let blobUrl: any;
        // PDF本地下载
        if (item.format === 'pdf') {
            const response = await fetch(item.url); // URL传递进入
            if (!response.ok) {
                throw new Error('本地下载失败!');
            }
            const blob = await response.blob();
            blobUrl = URL.createObjectURL(blob); 
        } else { // 图片下载
            const imageUrl = item.url;
            const response = await fetch(imageUrl); // URL传递进入

            if (!response.ok) {
                throw new Error(`本地下载失败!`);
            }
            const blob = await response.blob();
            blobUrl = URL.createObjectURL(blob);
        }
        //执行下载逻辑
        if (blobUrl) {
            const link = document.createElement("a"); // 创建a标签
            link.href = blobUrl; // 下载链接
            link.download = item.name; // 下载的文件名
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link); // 下载完成后移除a标签
            URL.revokeObjectURL(blobUrl); // 释放URL对象
        }
    } catch {
        proxy.$message.error('本地下载失败!');
    }
};

2、浏览器效果:

相关文章:

  • Python学习心得常用的内置函数
  • 计算机视觉算法实战——图像合成(主页有源码)
  • 滤波器 | 原理 / 分类 / 特征指标 / 设计
  • js 打开新标签页和关闭标签页
  • 基于Flask的艺恩影片票房分析系统的设计与实现
  • 公证 网络安全
  • UNIX网络编程学习记录4-第三章
  • Apache-CC6链审计笔记
  • AI可信论坛亮点:合合信息分享视觉内容安全技术前沿
  • HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析应用
  • 力扣算法-1
  • 【从0做项目】Java搜索引擎(8) 停用词表 正则
  • python的类与对象。为什么有些东西要用到类和对象。普通的编程方式不行吗?
  • C 位域的作用
  • 【后端】k8s
  • JetBrains 学生认证
  • 大型语言模型训练与优化实战指南(2025最新版)
  • 工业机器视觉的“眼睛”:如何利用镜头获取精准图像
  • 运用python制作一个完整的股票分析系统
  • php 系统命令执行及绕过
  • 身临其境感受伟人思想力量,“马克思书房”在上海社科馆揭幕
  • 山寨“小米”智能马桶、花洒销售额过亿,被判赔3500万元
  • 招行:拟出资150亿元全资发起设立金融资产投资公司
  • 北上广深均宣布下调个人住房公积金贷款利率
  • 特朗普政府拟终止太空污染研究,马斯克旗下太空公司将受益
  • 国家发改委副主任谈民营经济促进法:以法治的稳定性增强发展的确定性