Download text file from JAX-RS

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.

1. 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();

    }

}

2. Demo

Deploy above JAX-RS service, access this URI pattern : “/file/get“.

Figure : Text file “c:\\test.log” from server is prompt for user to download, with a new file name “file_from_server.log“
download file from server

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值