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

从化手机网站建设国庆网页制作素材

从化手机网站建设,国庆网页制作素材,wordpress本地登录,营口网站建设哪家好首先需要导入相关依赖#xff0c;由于具体依赖本人也不是记得很清楚了#xff0c;所以简短的说一下。 iText#xff1a;PDF 操作库#xff0c;用于创建和操作 PDF 文件。可通过 Maven 或 Gradle 引入 iText 依赖。 MultipartFile#xff1a;Spring 框架中处理文件上传的类…首先需要导入相关依赖由于具体依赖本人也不是记得很清楚了所以简短的说一下。 iTextPDF 操作库用于创建和操作 PDF 文件。可通过 Maven 或 Gradle 引入 iText 依赖。 MultipartFileSpring 框架中处理文件上传的类。通常用于接收前端上传的文件数据。 HttpServletRequestJava Servlet API 中的类用于获取 HTTP 请求的相关信息如请求方式、参数等。 BufferedImageJava 中用于表示图像的类通常与 ImageIO 结合使用来读取图片文件。 ByteArrayOutputStreamJava 中的字节数组输出流用于将数据写入到字节数组中。 Document和PdfWriteriText 库中的类分别用于创建 PDF 文档和写入 PDF 文件。 ImageiText 库中的类用于处理图像并将图像添加到 PDF 文档中。 RectangleiText 库中的类用于表示 PDF 页面的大小。 !--ITextPdf操作PDF文件的工具类--dependencygroupIdcom.itextpdf/groupIdartifactIditextpdf/artifactIdversion5.4.2/version/dependencydependencygroupIdcom.documents4j/groupIdartifactIddocuments4j-local/artifactIdversion1.0.3/version/dependencydependencygroupIdcom.documents4j/groupIdartifactIddocuments4j-transformer-msoffice-word/artifactIdversion1.0.3/version/dependency 以上提供一些依赖是需要用到的,然后在application.yml中添加以下配置 web:upload-path: E:/PictureTool/resources:static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}配置web.upload-path为与项目代码分离的静态资源路径即文件上传保存根路径配置spring.resources.static-locations除了带上Spring Boot默认的静态资源路径之外加上file:${web.upload-path}指向外部的文件资源上传路径。该路径下的静态资源可以直接对外提供HTTP访问服务。 然后就需要写具体的实现逻辑了 public R imgToPdf(MultipartFile file, HttpServletRequest request) {// 获取文件在服务器上的存储路径String imagePath getFilePath(file);// 获取文件名去掉文件扩展名String filename file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(.));// 将文件名赋值给成员变量FileNameFileName filename;try {// 使用ImageIO读取文件内容转换为BufferedImage对象BufferedImage img ImageIO.read(new File(imagePath));// 创建一个ByteArrayOutputStream对象用于存储转换后的PDF文件ByteArrayOutputStream baos new ByteArrayOutputStream();// 创建一个Document对象用于存储PDF文档Document doc new Document();// 创建一个PdfWriter对象用于将BufferedImage对象转换为PDF文件PdfWriter.getInstance(doc, new FileOutputStream(uploadPath filename .pdf));// 存储PDF文件的路径FilePath uploadPath filename .pdf;System.out.println(uploadPath filename .pdf);// 打开文档doc.open();// 将BufferedImage对象添加到PDF文档中Image image Image.getInstance(imagePath);// 设置文档的页面大小为BufferedImage的大小doc.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));// 将BufferedImage对象添加到PDF文档的第一个页面doc.add(image);// 关闭文档doc.close();// 调用addUserOperation方法记录用户操作boolean re addUserOperation(file, pdf, 1, request);System.out.println(转换成功re为 re);// 获取PDF文件的下载链接String downloadLink request.getScheme() :// request.getServerName() : request.getServerPort() request.getContextPath() /pictureTool/ filename .pdf;// 返回PDF文件的下载链接return R.Success(图片转pdf转换成功, downloadLink);} catch (Exception e) {// 如果转换失败记录用户操作e.printStackTrace();boolean re addUserOperation(file, pdf, 0, request);System.out.println(转换失败re为 re);// 返回错误信息return R.Failed(500, 图片转换失败);}} 以上代码接受一个文件然后进行转换为pdf并保存在本地指定的文件夹中接下来使用输出流的方式进行文件下载。 public R downloadFile(HttpServletRequest request, HttpServletResponse response)throws IOException {// 获取文件路径和文件名String filePath FilePath;String fileName FileName;// 设置响应头指定下载文件的名称response.setHeader(Content-Disposition,attachment; filename java.net.URLEncoder.encode(fileName, UTF-8));try {// 打开文件File file new File(filePath);FileInputStream fileInputStream new FileInputStream(file);// 读取文件内容到字节数组byte[] fileByte new byte[(int) file.length()];ByteArrayOutputStream byteArrayOutputStream new ByteArrayOutputStream();byte[] bytes new byte[1024];int len;while ((len fileInputStream.read(bytes, 0, bytes.length)) ! -1) {byteArrayOutputStream.write(bytes, 0, len);}byteArrayOutputStream.close();fileByte byteArrayOutputStream.toByteArray();// 将文件内容写入响应对象OutputStream outputStream response.getOutputStream();outputStream.write(fileByte);outputStream.flush();outputStream.close();// 返回成功信息return R.Success(文件下载成功);} catch (Exception e) {// 如果下载失败返回失败信息e.printStackTrace();return R.Failed(文件下载失败);}}其中R是我自定义的一个响应类改成你自己的就可以了~ 最后记得放行你存放文件的盘符
http://www.hkea.cn/news/14475628/

相关文章:

  • 湖州住房和城乡建设局网站公司行政负责做网站吗
  • 一加手机官网网站wordpress上传视频人50
  • 网站开发 语言 架构 数据库高新西区网站建设
  • 网站建设课程毕设千灯做网站
  • 个人网站建设分几个步走盘锦建设小学网站
  • WordPress分类获取子分类百度seo策略
  • 网站百度不到验证码怎么办手游推广平台
  • 怎么自己制作一个网站的书源20平办公室装修设计
  • 越秀网站建设策划vi手册免费模板
  • 郑州建设局官方网站wordpress拖拽式主题
  • 网站搭建报价表泰顺网站建设
  • 公司网站建设会计上怎么处理重庆前十装修公司排名
  • 推广网站链接怎么做中国服务外包网
  • 营销网站建设前期准备泰安营销型网站建设公司
  • 社交网站 模板logo设计
  • 网站扫二维码怎么做的有个人做网站的吗
  • 网站制作公司前十名云核wordpress
  • 手机网站制作架构口碑好网站建设费用
  • 着力规范网站集约化建设品牌宣传策划方案
  • 知名网站有哪些wordpress config.php
  • 网站轮播广告代码wordpress文章列表高度
  • 网站定制牛七科技wordpress 4.7.3 乱码
  • 网站开发流程电话普通人做电商要多少钱
  • 公司的网站是什么行者seo
  • 视频网站的建设预算宁波市政务网站建设和管理标准
  • 网站需要数据库吗网站综合查询工具
  • 网站开发需求分析包括哪些方面网站开发的高级阶段包括什么
  • 襄阳做网站的公司陇南市建设局网站公示
  • 网站虚拟主机建设做网站代码用什么软件
  • google 网站优化工具做微信商城网站哪家好