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

有在网上找做网站的人么百度客服电话24小时人工服务热线

有在网上找做网站的人么,百度客服电话24小时人工服务热线,将自己做的网站发布到网上,苹果air做win10系统下载网站首先需要导入相关依赖,由于具体依赖本人也不是记得很清楚了,所以简短的说一下。 iText:PDF 操作库,用于创建和操作 PDF 文件。可通过 Maven 或 Gradle 引入 iText 依赖。 MultipartFile:Spring 框架中处理文件上传的类…

首先需要导入相关依赖,由于具体依赖本人也不是记得很清楚了,所以简短的说一下。

  1. iText:PDF 操作库,用于创建和操作 PDF 文件。可通过 Maven 或 Gradle 引入 iText 依赖。

  2. MultipartFile:Spring 框架中处理文件上传的类。通常用于接收前端上传的文件数据。

  3. HttpServletRequest:Java Servlet API 中的类,用于获取 HTTP 请求的相关信息,如请求方式、参数等。

  4. BufferedImage:Java 中用于表示图像的类,通常与 ImageIO 结合使用来读取图片文件。

  5. ByteArrayOutputStream:Java 中的字节数组输出流,用于将数据写入到字节数组中。

  6. DocumentPdfWriter:iText 库中的类,分别用于创建 PDF 文档和写入 PDF 文件。

  7. Image:iText 库中的类,用于处理图像,并将图像添加到 PDF 文档中。

  8. Rectangle:iText 库中的类,用于表示 PDF 页面的大小。

 <!--ITextPdf,操作PDF文件的工具类--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.2</version></dependency><dependency><groupId>com.documents4j</groupId><artifactId>documents4j-local</artifactId><version>1.0.3</version></dependency><dependency><groupId>com.documents4j</groupId><artifactId>documents4j-transformer-msoffice-word</artifactId><version>1.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.ds6.com.cn/news/95367.html

相关文章:

  • 网站验证码怎么做域名信息查询网站
  • 做淘宝主要看哪些网站有哪些内容谷歌关键词
  • wap手机网站建设方案广告代运营公司
  • 微信怎么设计分享网站在哪个网站可以免费做广告
  • 网站建设界面建议安徽百度推广怎么做
  • 网站网页优化技巧北京谷歌优化
  • 众筹网站开发需求网址域名查询
  • 建设网站公司营口建网站的公司
  • 瓦房店网站制作如何介绍自己设计的网页
  • 全市政府网站集约化建设网络营销的成功案例有哪些
  • 门户网站建站网站排名首页前三位
  • 天津公司网站建设费搜索网页内容
  • 衢州网站建设专业的公司seo外链推广工具下载
  • 建各公司网站要多少钱站长聚集地
  • 门户网站做seo郑州seo关键词排名优化
  • seo网址超级外链工具西安企业seo
  • 长沙人才招聘网最新招聘2024网站优化推广外包
  • 金蝶erp软件湖南有实力seo优化哪家好
  • 做室内概念图的网站深圳优化网站方法
  • 站长之家ping检测网络营销是干嘛的
  • 做网站首选智投未来1网站推广的方法有哪些?
  • 阳江网胜太原关键词优化软件
  • 弄美团网站的一般一个做赚多少钱收录入口在线提交
  • 求创意设计分享的网站网站建站
  • 三级分销网站开发seo算法是什么
  • 体育网站模版深圳百度seo培训
  • 微信音乐做mp3下载网站网站注册时间查询
  • 深圳国外网站建设做一个自己的网站
  • 局域网内部如何做网站如何创建个人网站免费
  • 衡水做wap网站的公司平台推广是什么工作