In JAX-RS, for user to download a file, annotate the method with @Produces("text/plain") :
Put @Produces(“text/plain”) on service method, with a Response return type. It means the output is a text file.
Set “Content-Disposition” in Response header to tell browser pop up a download box for user to download.
Download File in JAX-RS :
See a full example to download a text file in JAX-RS.
File Type :
txt : @Produces("text/plain")
image : @Produces("image/png")
pdf : @Produces("application/pdf")
excel : @Produces("application/vnd.ms-excel")
Put @Produces(“text/plain”) on service method, with a Response return type. It means the output is a text file.
Set “Content-Disposition” in Response header to tell browser pop up a download box for user to download.
Download File in JAX-RS :
See a full example to download a text file in JAX-RS.
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("/file") public class FileService { private static final String FILE_PATH = "c:\\file.log"; @GET @Path("/get") @Produces("text/plain") public Response getFile() { File file = new File(FILE_PATH); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition","attachment; filename=\"file_from_server.log\""); return response.build(); } }
File Type :
txt : @Produces("text/plain")
image : @Produces("image/png")
pdf : @Produces("application/pdf")
excel : @Produces("application/vnd.ms-excel")
No comments:
Post a Comment