通过XMLHttpRequest和window.open在浏览器中打开文件流pdf以及下载pdf

news2024/9/20 15:28:07

1、浏览器预览pdf:

首先通过接口获取文件流数据

下发是源码

var xhr = new XMLHttpRequest();

xhr.open("GET", 'http://www.baidut.com/downloadFile');

xhr.responseType = "blob";

xhr.onload = function(){

        if(this.status == 200){

                var blob = new Blob([this.response],{type: 'applocation/pdf;chartset=UTF-8'});

                var url = window.URL.createObjectURL(blob);

                window.open(url, "_blank");

        }

};

xhr.send();

当然我这里使用的是原生的,如果可以的也可以使用axios、ajax都是可以的,反正都是通过接口获取文件流进而通过blob不同的类型转换用于浏览器的展示;blob的type有很多,还有图片image/png等等

2、浏览器下载文件:

浏览器下载文件和预览差不多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全视通医院智慧后勤全场景管理+一体化解决方案,让医院管理提质增效

在 “十四五” 时期,公立智慧医院建设正如火如荼地进行着。2021年,国家卫生健康委医政医管局发布《医院智慧管理分级评估标准体系(试行)》,从政策层面给出了推进面向医务人员的“智慧医疗”、面向患者的“智慧服务”、…

Cadenza 项目:机器学习如何改善听力受损人士的音乐聆听体验

音乐,作为全人类共享的文化瑰宝,具有强大的凝聚力,它不仅塑造了我们的社会风貌,更为我们的身心健康带来诸多益处。然而,听力损失却无情地削弱了这份美妙的体验。据世界卫生组织预测,到2050年,全…

大模型技术场景与商业应用(2024):赋能千行百业产业链升级

大模型技术场景与商业应用(2024):赋能千行百业产业链升级 引言 随着人工智能技术的飞速发展,大模型(Large Language Models, LLMs)已成为推动各行业数字化转型的关键驱动力。从2023年的ChatGPT大模型爆火至…

低代码平台与统一待办:提升工作效率的新趋势

什么是低代码平台? 低代码平台是一种允许用户通过图形化界面和简单的拖放操作创建应用程序的开发工具。它极大地简化了应用程序的开发过程,使得非技术背景的用户也能够参与到应用开发中来。低代码平台通常包括预建的组件、模板和集成功能,大…

【论文阅读】视觉分割新SOTA: Segment Anything(SAM)

导言 随着基于对比文本—图像对的预训练(CLIP)方法或者模型、聊天生成预训练转换器(ChatGPT)、生成预训练转换器-4(GPT-4)等基础大模型的出现,通用人工智能( AGI)的研究…

web项目如何部署到服务器上呢?——麻烦的方法

只需关注web项目如何部署到服务器上,因为服务器运行时就可以访问web项目了。 一、麻烦的方法 1、首先启动服务器 (1)找到bin文件夹 (2)双击运行startup.bat文件 (3)运行之后的界面如下&#…

MongoDB日志级别

日志 查看当前的日志级别 根据你提供的 MongoDB 命令结果,命令 db.adminCommand({ getParameter: "logComponentVerbosity" }) 返回了 "ok" : 0,这意味着命令执行失败,没有成功获取到日志级别的配置信息。错误信息 &quo…

simulink基础-代码生成

模型相关设置 求解器设置 求解器选择设置为:定步长 离散 求解器详细设置为:0.01 (task1s,需要计数器100次) 保证仿真结果,在代码中无体现 代码生成设置 系统目标文件 grt.tlc 用于HIL或RCP 无法进行精确的调度要求 嵌入式选择…

深入理解TCP三次握手

在网络通信中,TCP(Transmission Control Protocol,传输控制协议)是一个可靠的、面向连接的协议,它保证了数据包的顺序和完整性。为了建立一个稳定的连接,TCP 使用了一个被称为 三次握手(Three-W…

[项目实战]EOS多节点部署

文章总览:YuanDaiMa2048博客文章总览 EOS多节点部署 (一)环境设计(二)节点配置(三)区块信息同步(四)启动节点并验证同步EOS单节点的环境如何配置 (一&#xf…

828华为云征文|华为云Flexus X搭建借贷管理系统、二次开发借贷小程序 前端源码uniapp

在华为云828 B2B企业节的盛宴中,Flexus X实例以其卓越的算力性能和灵活的资源配置脱颖而出。对于追求极致性能、渴望在借贷管理、电商交易等场景中脱颖而出的您来说,Flexus X无疑是最佳拍档。搭载创新加速引擎,让您的自建MySQL、Redis、Nginx…

MYTHOLOGICAL CREATURES PACK

这个包收集了5种神话生物:奇美拉、狮鹫、哈比、螳螂和狼人。型号注定是高端设备。支持PBR和LEGACY着色器。高分辨率4096*4096纹理,根运动动画以及到位。 下载:​​Unity资源商店链接资源下载链接 效果图:

C++里面的“百变怪”:模板

🌞0.前言 言C之言,聊C之识,以C会友,共向远方。各位博友的各位你们好啊,这里是持续分享C知识的小赵同学,今天要分享的C知识是模板 ,在这一章,小赵将会向大家聊聊C的模板知识 。✊ 相…

实时音视频之医疗手术示教技术方案探究

背景与重要性 医疗手术示教是现代医学教育中不可或缺的一环,它通过将手术室内医生的手术过程以及手术室内的各种医疗设备的视频资料真实呈现给实习医生或观摩人员,以达到教学或学术交流的目的。随着医疗技术的不断进步和医学教育的深入发展,…

各类软件在Linux上的安装

mysql安装 5.7版本 mysql的程序在centos官方的库中是没有的,需要切换到淘宝的镜像,这个前面有教程或者配置mysql的源 yum -y install rpm rpm --import https://repo.mysql.Com/RPM-GPG-KEY-mysqL-2022 rpm -Uvh http://repo.mysql.com//mysql57-commun…

自定义EPICS在LabVIEW中的测试

继续上一篇:LabVIEW中EPICS客户端/服务端的测试 变量定义 You can use CaLabSoftIOC.vi to create new EPICS variables and start them. CA Lab - LabVIEW (Realtime) EPICS INPUT: PV set Cluster-array of names, data types and field definitions to crea…

web前端-HTML常用标签(三)

一、表格标签 表格是实际开发中非常常用的标签: 1.表格的主要作用: 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格…

多少岁转行网络安全不算晚?零基础想跳槽(转行)网络安全,看这篇就够了

🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 奉劝所有零基础想入门(转行)网络安全的朋友,麻烦转行前,一定要对网络安全行业做一个大概了解,不要一点…

WriteUp - hackthebox-Labyrinth Linguist

题目靶场地址:https://ctf.hackthebox.com/ 先启动环境再下载项目文件: 项目文件压缩包解压密码:hackthebox 访问项目环境页面,是一个简单的web,输入什么就输出什么,直接看项目文件,是一个ja…

八叉树,分裂空间的魔法师【Unity】

八叉树,分裂空间的魔法师 前往我的博客阅读,享受免费无广告的体验 诞生 当我们要做物理碰撞检测的时候,例如一枚子弹射了出去,我们或许会选择遍历所有的物体,通过运算判断是否相交,是否发生碰撞,但这不理想,尤其是面对成千上万物体的时候,计算量极其恐怖。 同样的,…