若依框架之简历pdf文档预览功能
一、前端
(1)安装插件vue-pdf:npm install vue-pdf
(2)引入方式:import pdf from "vue-pdf";
(3)components注入方式:components:{pdf}
(4)前端预览按钮设置
<el-buttonsize="mini"type="text"icon="el-icon-view"@click="handleShow(scope.row)"v-hasPermi="['resumes:resumes:show']">预览</el-button>
(5)预览弹窗
<!-- 简历预览框 --><el-dialog :title="title" :visible.sync="show" width="800px" append-to-body><pdf v-for="pdfPage in previewData.pdfPages" :key="pdfPage" :page="pdfPage" :src="previewData.src"width="100%"></pdf></el-dialog>
(6)预览的参数设置
//简历预览弹窗show:false,//pdf属性previewData:{type:"",src:"",pdfPages:[]},
(7)方法实现,调用showResume方法
将showResume方法返回数据的形式设置成blob流的形式
export function showResume(id){return request({url: '/resumes/resumes/show/' + id,method: 'get',responseType: 'blob'})
handleShow(row){const id = row.idshowResume(id).then(res => {this.show = true;this.title="简历预览"let blob = new Blob([res]);this.previewData.type="pdf";this.previewData.src=URL.createObjectURL(blob);let loadingTask=pdf.createLoadingTask(this.previewData.src);loadingTask.promise.then(pdf=>{this.previewData.pdfPages=pdf.numPages;})});},
二、后端
(1)show方法的实现,入参是前端传回来的简历的id值,根据id值获取简历的存储路径(简历存储在了本地)
@PreAuthorize("@ss.hasPermi('resumes:resumes:show')")@GetMapping("/show/{id}")public ResponseEntity<InputStreamResource> show(@PathVariable Long id) throws IOException {Resumes resumes=new Resumes();resumes=resumesService.selectResumesById(id);String path=resumes.getFileUrl();FileSystemResource file = new FileSystemResource(path);// 设置响应头HttpHeaders headers = new HttpHeaders();headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", file.getFilename()));return ResponseEntity.ok().headers(headers).contentLength(file.contentLength()).contentType(MediaType.parseMediaType("application/octet-stream")).body(new InputStreamResource(file.getInputStream()));}
三、实现效果

相关文章:
若依框架之简历pdf文档预览功能
一、前端 (1)安装插件vue-pdf:npm install vue-pdf (2)引入方式:import pdf from "vue-pdf"; (3)components注入方式:components:{pdf} (4&…...
酷瓜云课堂(内网版)v1.1.8 发布,局域网在线学习平台方案
更新layui-v2.9.20文章复用课程期限优化编辑器内容自动提交联系方式增加抖音二维码修正课时详情页目录高亮问题修正CommentInfo中点赞判断精简AccountSearchTrait优化kg_h5_index_url()优化CourseUserTrait优化kg_setting()优化CsrfToken 系统介绍 酷瓜云课堂内网版ÿ…...
python语音机器人(青云客免费api)
强调:不用登录注册,直接使用就好 青云客智能聊天机器人API python代码,直接可以运行: 1、安装库: pip install requests pyttsx3 SpeechRecognition sounddevice numpy scipy2、完整代码: import request…...
使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图
在做一些尺度分析时,经常会涉及到对研究区构建不同尺度的渔网进行分析,渔网的形状通常为规则四边形。构建渔网的方法也很简单,使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…...
5.系统学习-PyTorch与多层感知机
PyTorch与多层感知机 前言PyTroch 简介张量(Tensor)张量创建张量的类型数据类型和 dtype 对应表张量的维度变换:张量的常用操作矩阵或张量计算 Dataset and DataLoaderPyTorch下逻辑回归与反向传播数据表格 DNN(全连结网络&#x…...
AIGC与虚拟身份及元宇宙的未来:虚拟人物创作与智能交互
个人主页:云边有个稻草人-CSDN博客 目录 引言 一、AIGC在元宇宙中的作用 1.1 AIGC与虚拟人物创作 1.1.1 生成虚拟人物外观 1.1.2 个性化虚拟角色设计 1.2 AIGC与虚拟角色的行为与交互 1.2.1 行为生成与强化学习 1.2.2 对话生成与自然语言处理 二、AIGC实现…...
基于大模型LLM 应用方案
现如今LLM 应用 面临的主要问题 准确性,2. 高成本,3. 专业性,4. 时效性,5. 安全性 信息偏差/幻觉 (大模型由于数据缺陷/知识边界 会使用 可靠性下降)知识更新滞后性 (LLM 基于静态数据集训练,可能导致知识更…...
实用技巧:关于 AD修改原理图库如何同步更新到有原理图 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/144738332 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
区块链平台安全属性解释
区块链平台安全属性解释 双向认证 解释:双向认证是指在通信过程中,**通信双方都需要对对方的身份进行验证,确保对方是合法的、可信任的实体。**只有双方身份都得到确认后,通信才会被允许进行,从而防止非法用户的接入和数据的窃取或篡改。举例:在基于区块链和联邦学习的数…...
1228作业
思维导图 作业 TCP的cs模型 服务器 //服务器 #include <myhead.h> #define PORT 6667 #define IP "192.168.124.94" #define BACKLOG 128 int main(int argc, const char *argv[]) {//创建套接字int oldfd socket(AF_INET,SOCK_STREAM,0);if(oldfd-1){perro…...
Machine-learning the skill of mutual fund managers
Machine-learning the skill of mutual fund managers – 论文阅读 文章目录 Machine-learning the skill of mutual fund managers -- 论文阅读AbstractIntroductionQuestionMain findingscontributionsliterature reviewDataSampleHoldings-based characteristicsModelOptima…...
Windows下Python+PyCharm的安装步骤及PyCharm的使用
Windows下PythonPyCharm的安装步骤及PyCharm的使用 文章目录 Windows下PythonPyCharm的安装步骤及PyCharm的使用一、Python的安装(1)环境准备(2)Python安装(3)pip组件的安装 二、PyCharm的安装(…...
Anaconda+PyTorch(CPU版)安装
1.Anaconda下载 Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 如果已安装python,下载之前要彻底删除之前下载的python 2.Anaconda安装 3.添加环境变量 //根据实际安装路径进行更改 D:\Anaconda D:\Anaconda\Scripts D:\…...
第 28 章 - ES 源码篇 - Elasticsearch 启动与插件加载机制解析
前言 不管是什么框架,启动类里面做的一定是初始化的工作! 启动 ES 节点的启动逻辑,全部都在 org.elasticsearch.bootstrap 包下。 启动类为:Elasticsearch#main(final String[] args) 与大多数框架启动类一致。启动类主要负责的…...
机床数据采集网关在某机械制造企业的应用
随着工业4.0时代的到来,智能制造已成为制造业转型升级的重要方向。数控机床作为现代制造业的核心设备,其运行状态和加工参数的数据实时采集与分析对于提升生产效率、优化生产流程具有关键意义。 背景概述 某机械制造企业拥有多台数控机床,这…...
美团Android开发200道面试题及参考答案(上)
http 三次握手 / 四次挥手具体过程,信号量的变化,只有两次握手行不行 三次握手过程: 第一次握手:客户端向服务器发送一个 SYN(同步)标志位为 1 的 TCP 报文段,其中包含客户端的初始序列号(ISN),此时客户端进入 SYN_SENT 状态,表示客户端请求建立连接。第二次握手:服…...
MQTT协议的应用场景及特点和常见的概念03
发布者发送数据---》代理软件Broker---》订阅者接收数据 发布者和订阅者进行隔离 1.空间上的隔离 2.时间上的隔离 MQTT常见的应用场景:物联网行业 MQTT常见的特点: 1.轻量级:MQTT协议占用的系统资源较少,数据报文较小 2.可靠性较强࿱…...
电脑缺失sxs.dll文件要怎么解决?
一、文件丢失问题:以sxs.dll文件缺失为例 当你在运行某个程序时,如果系统提示“找不到sxs.dll文件”,这意味着你的系统中缺少了一个名为sxs.dll的动态链接库文件。sxs.dll文件通常与Microsoft的.NET Framework相关,是许多应用程序…...
数据处的存储与处理——添加数组
Numpy模块中的append()函数和insert()函数 1、append()函数的使用 append(arr,values,axisNone) arr 必选,要添加元素的数组 values 必选,要添加的元素数组 axis 可选,默认值为None。当省略该参数时,表示在…...
24-12-28-pytorch深度学习CUDA的GPU加速环境配置步骤
文章目录 pytorch深度学习CUDA的GPU加速环境配置步骤1. 更新cuda驱动2. 更新完成cuda驱动后,查看对应的驱动版本3. 根据驱动的版本号,下载对应的cuda-toolkit4. CUDA是否配置成功5. 配置CUDNN6. 配置torch pytorch深度学习CUDA的GPU加速环境配置步骤 1.…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
