RESTful JAX-RS文件下载示例

本文概述

  • JAX-RS文本文件下载
  • JAX-RS图像文件下载
  • JAX-RS PDF文件下载
我们可以通过JAX-RS API用Java下载文本文件, 图像文件, pdf文件, excel文件。为此, 我们只需要编写几行代码。在这里, 我们使用球衣实现来开发JAX-RS文件下载示例。
你需要指定不同的内容类型以下载不同的文件。 @Produces批注用于指定文件内容的类型。
  1. @Produces(“ text / plain”):用于下载文本文件。
  2. @Produces(“ image / png”):用于下载png图像文件。
  3. @Produces(“ application / pdf”):用于下载PDF文件。
  4. @Produces(“ application / vnd.ms-excel”):用于下载Excel文件。
  5. @Produces(“ application / msword”):用于下载ms word文件。
单击我下载jersey jar文件。
JAX-RS文本文件下载 文件:FileDownloadService.java
package com.srcmini.rest; import java.io.File; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; @Path("/files") public class FileDownloadService { private static final String FILE_PATH = "c:\\myfile.txt"; @GET @Path("/txt") @Produces("text/plain") public Response getFile() { File file = new File(FILE_PATH); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition", "attachment; filename=\"srcmini_file.txt\""); return response.build(); } }

文件:web.xml
< ?xml version="1.0" encoding="UTF-8"?> < web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> < servlet> < servlet-name> Jersey REST Service< /servlet-name> < servlet-class> org.glassfish.jersey.servlet.ServletContainer< /servlet-class> < init-param> < param-name> jersey.config.server.provider.packages< /param-name> < param-value> com.srcmini.rest< /param-value> < /init-param> < load-on-startup> 1< /load-on-startup> < /servlet> < servlet-mapping> < servlet-name> Jersey REST Service< /servlet-name> < url-pattern> /rest/*< /url-pattern> < /servlet-mapping> < /web-app>

档案:index.html
< a href="http://www.srcmini.com/rest/files/txt"> Download Text File< /a>

【RESTful JAX-RS文件下载示例】现在在服务器上运行此应用程序, 你将看到以下输出:
输出:
RESTful JAX-RS文件下载示例

文章图片
单击我下载此示例
JAX-RS图像文件下载 文件:FileDownloadService.java
package com.srcmini.rest; import java.io.File; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; @Path("/files") public class FileDownloadService { private static final String FILE_PATH = "c:\\myimage.png"; @GET @Path("/image") @Produces("image/png") public Response getFile() { File file = new File(FILE_PATH); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition", "attachment; filename=\"srcmini_image.png\""); return response.build(); } }

文件:web.xml
与上面的示例相同。
档案:index.html
< a href="http://www.srcmini.com/rest/files/image"> Download Image File< /a>

单击我下载此示例
JAX-RS PDF文件下载 文件:FileDownloadService.java
package com.srcmini.rest; import java.io.File; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; @Path("/files") public class FileDownloadService { private static final String FILE_PATH = "c:\\mypdf.pdf"; @GET @Path("/pdf") @Produces("application/pdf") public Response getFile() { File file = new File(FILE_PATH); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition", "attachment; filename=\"srcmini_pdf.pdf\""); return response.build(); } }

文件:web.xml
与上面的示例相同。
档案:index.html
< a href="http://www.srcmini.com/rest/files/pdf"> Download PDF File< /a>

单击我下载此示例

    推荐阅读