在JAX-RS中,要用户下载文件,请使用@Produces("text/plain")
注释该方法:
- 将@Produces(“ text / plain”)放在具有
Response
返回类型的服务方法上。 这意味着输出是一个文本文件。 - 在Response标头中设置“ Content-Disposition ”,告诉浏览器弹出一个下载框供用户下载。
1.在JAX-RS中下载文件
查看完整的示例以在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.演示
在JAX-RS服务之上进行部署,访问以下URI模式:“ / file / get ”。
图片:服务器提示文本文件“ c:\\ test.log ”供用户下载,新文件名为“ file_from_server.log ”

下载源代码
下载它– JAX-RS-Download-TextFile-Example.zip (6 KB)
参考文献
翻译自: https://mkyong.com/webservices/jax-rs/download-text-file-from-jax-rs/