今天学习两个,分别是JAX-RS之下载文件
首先,看例子,下载服务器的文本文件
1. @Path("/file")
2. public class
3.
4. private static final String FILE_PATH = "c:\\file.log";
5.
6. @GET
7. @Path("/get")
8. @Produces("text/plain")
9. public
10.
11. new
12.
13. ResponseBuilder response = Response.ok((Object) file);
14. "Content-Disposition",
15. "attachment; filename=\"file_from_server.log\"");
16. return
17.
18. }
@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();
}
@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();
}
可以看到要下载服务端文件,在方法前加@Produces("text/plain")
,还有就是response输出时,这两句:
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition",
"attachment; filename=\"file_from_server.log\"");
则访问URL:“/file/get“时,则会提示下载文件。
2 同样,下载其他格式文件,都如此类推,分别是@Produces("image/png")
这样的形式,加@Produces标签,并且response.header中进行文件类型修改就可以了,
就不再举例