0
点赞
收藏
分享

微信扫一扫

JAX-RS之下载文件


今天学习两个,分别是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中进行文件类型修改就可以了,


就不再举例 

举报

相关推荐

0 条评论