在JAX-RS中,为了让用户下载图像文件,请使用@Produces("image/image-type")
注释该方法:
- 将@Produces(“ image / png”)放在服务方法上,以获取“ png”图像。
- 在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("/image")
public class ImageService {
private static final String FILE_PATH = "c:\\mkyong-logo.png";
@GET
@Path("/get")
@Produces("image/png")
public Response getFile() {
File file = new File(FILE_PATH);
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition",
"attachment; filename=image_from_server.png");
return response.build();
}
}
2.演示
访问此URI模式:“ / image / get ”。
图片:服务器提示用户下载图像文件“ c:\\ mkyong-logo.png ”,新文件名为“ image_from_server.png ”
下载源代码
下载它– JAX-RS-Download-ImageFile-Example.zip (6 KB)
参考文献
翻译自: https://mkyong.com/webservices/jax-rs/download-image-file-from-jax-rs/