ZQG's blog

Home

Archives

About

loading..
SpringBooteasyExcel

easyExcel导出图片

基于SpringBoot,使用EasyExcel导出图片功能1、前言项目中有导出excel文件需要包含图片的需求,使用EasyExcel注解方式支持导出,但是不够灵活,而且当导出的图片过多,过大会导致导出时间过长,excel文件过大。这个时候可以考虑先压缩图片,然后再导出,如果必须要导出原图那就没办法了,只能异步导出了。下面介绍一下导出的方案。 2、导出方案2.1 使用easyExcel注解,配合自定义handler,实现一个单元格,导出多张图片。导出实体VO: import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; import java.util.List; @Data public class ExportVo ..

Read more
loading..
SpringBootMinIO

大文件分片上传

基于SpringBoot实现大文件分片上传1、前言在项目开发遇到大文件,比如视频之类的文件,直接上传速度很慢,而且受限于服务器带宽,用户体验很不好,所以需要优化,常见的解决方案就是分片上传。 2、环境SpringBoot 3.3.5 +JDK 17 +MinIO 3、实现3.1 后端分片开始做分片时,首先考虑在服务端做分片看看能否提升整体文件上传速度。首先说结论,不能,甚至可能比直接上传大文件还慢。所以大文件分片上传必须要前端配合,只在后端实现不行,但是还是说一下思路:首先通过接口拿到文件,然后对文件进行分片,然后上传,最后再合并,即使借助线程池,实现同时上传多个分片,效率还是不行,主要原因是,分片还有合并IO耗时太长。 3.2 前端分片,后端合并主要流程:前端拿到文件,然后分片,并行调用上传接口(这个是重..

Read more
loading..
SpringBoottencent电子签

SpringBoot接入腾讯电子签

1、前言项目中需要使用到电子签名的功能,经过调研决定使用腾讯电子签。官网:腾讯电子签-电子合同-腾讯在线合同签约平台 2、接入流程2.1 结合业务需求确定接入方式。腾讯电子签产品很多,具体需要提前阅读官网或者联系售前客户之类的了解。本人在项目中接入方式是通过模板方式发起,其中模板是在腾讯的电子签工作台画好的。(也可以放在本地,通过文件上传的形式,然后发起) 2.2 首先登录腾讯电子签工作台。(以下以测试环境为例,正式环境需要企业认证注册,然后进入控制台。) 点击创建模板,上传合同模板(对应系统中的会诊病例),word和pdf都行。 添加签署区,设置一些属性(控件)名称,在调用接口时,要传参填充数据。 在要签名的地方,添加签署控件,以个人签名为例。 设置签署流程时,注意在添加签署人时,要注意选择个人,..

Read more
python学习笔记编程语言

python学习

1、前言一直想学习python,于是在工作之余看免费的教程学习,但是因为工作忙或者自律性不够,总是断断续续,所以想记录一下学习笔记,方便复习和督促自己坚持学下去。视频教程来自:https://www.bilibili.com/video/BV1wD4y1o7AS/ 源码地址:pystudy: python学习代码 2、学习内容1、python简介及开发环境

Read more
loading..
SpringBootitext5pdf

SpringBoot接入itext5生成pdf

SpringBoot集成itext5,实现pdf生成1、前言在项目开发中有需要生成pdf文件的功能,常见的方案如下: html作为模板,(Thymeleaf、freemaker等模板引擎)渲染数据,最后生成pdf 使用pdf模板(使用如:Adobe Acrobat编辑器,创建一个带有表单字段的PDF),填充数据,最后生成pdf 使用pdf模板(使用占位符,比如${name}),用数据替换占位符,最后生成pdf。比较复杂,不容易实现,不建议。 如何得到pdf文件,主要有两种方法,一种是写代码生成,还有就是用pdf转换工具,比如wkhtmltopdf之类的。由于在项目中考虑到,使用html的方案,在修改模板时对用户不友好,所以采用了方案2:pdf模板+表单+填充数据。 工具使用itext5,因为itext7..

Read more
loading..
VueVue2学习笔记,前端

Vue2学习

Vue2学习视频教程来自尚硅谷:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通_哔哩哔哩_bilibili,vue2文档:介绍 — Vue.js 源码地址:zqg2233/vue-study 1. vue基础知识和原理1.1 初识vue 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象 app容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法 app容器里的代码被称为【Vue模板】 Vue实例和容器是一一对应的,不能一对多和多对一 真实开发中只有一个Vue实例,并且会配合着组件一起使用 是Vue的语法:插值表达式,可以读取到data中的所有属性 一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新(Vue实现的响应式)代码:这里是直接..

Read more
loading..
AlipaySpringBoot

支付宝V3接口接入

SpringBoot项目接入支付宝v3接口1、接入准备首先到支付宝开放平台注册或者登录,选择移动/网页支付,按照页面的指引进行接入(正式生产环境是必须要申请账号、创建应用、配置相关参数等)。如果只是开发测试,可以使用支付宝提供的沙箱环境,下面的所有的内容都是基于沙箱环境的。 打开控制台首页 - 开放平台,选择开发工具里的沙箱,可以查看支付宝分配给你的沙箱环境账号信息,特别是公钥和私钥,或者证书。本次开发,我用的是公钥和私钥的接口加签方式,使用证书也可以,只不过在1.0和2.0版本的接口,公私钥和证书的代码有些许不同,貌似在3.0版本中,代码都一样,只要在AlipayConfig中给相应字段赋值接可以了。 总之,接入准备的步骤,详细看支付宝官方文档,这里就不详细介绍了。 2、开发环境开发工具:idea + m..

Read more
Interview

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post$ hexo new "My New Post" More info: Writing Run server$ hexo server More info: Server Generate static files$ hexo generate More info..

Read more
loading..
HexoGitHub

搭建自己的专属博客

[教程]Hexo + Github 搭建自己的专属博客教程来自【Hexo + Github 搭建自己的专属博客】_wudreamer.github-CSDN博客,自己实操并修改了一些内容。 1. 安装Git和NodeJS在Windows上使用Git,可以从Git官网直接 Git - Downloads (git-scm.com),然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,弹出一个类似命令行窗口的东西,就说明Git安装成功! 在Git中绑定Github账号,打开“Git Bash”,在命令框中依次输入两行命令: git config --global user.name "Your Name" git config --global user.email ..

Read more