jen*_*nny 22 java pdf rest jersey
我正在使用japser报告生成pdf,我想创建一个REST Web服务,它将返回此pdf并在浏览器中显示它.我已经尝试过这里显示的代码:
但是这样就下载了pdf文件.我希望首先在浏览器中显示它然后如果用户希望他可以在以后下载它.
(对不起重复的问题,但正如您所看到的,上述问题尚未得到解答......)
编辑:
使用REST服务代码:
@GET
@Path("/pdf")
@Produces("application/pdf")
public javax.ws.rs.core.Response getPdf() throws Exception
{
File file = new File("E:\\tmp\\test.pdf");
FileInputStream fileInputStream = new FileInputStream(file);
javax.ws.rs.core.Response.ResponseBuilder responseBuilder = javax.ws.rs.core.Response.ok((Object) fileInputStream);
responseBuilder.type("application/pdf");
responseBuilder.header("Content-Disposition", "filename=test.pdf");
return responseBuilder.build();
}
Run Code Online (Sandbox Code Playgroud)
Sau*_*ala 25
更改
response.header("Content-Disposition", "attachment; filename=restfile.pdf");
Run Code Online (Sandbox Code Playgroud)
至
response.header("Content-Disposition", "filename=restfile.pdf");
Run Code Online (Sandbox Code Playgroud)
首先使用InputStream,我们可以将文件加载到输入流中,然后传递给IOUtils.copy并使用它进行下载,使用它进行预览response.header("Content-Disposition", "attachment; filename=restfile.pdf") response.setHeader("Content-disposition", " filename=" + output)
InputStream inputStream = new FileInputStream(new File(path)); // load the file
IOUtils.copy(inputStream, response.getOutputStream());
response.setContentType("application/pdf");
response.setHeader("Content-disposition", " filename=" + output);
response.flushBuffer();
Run Code Online (Sandbox Code Playgroud)
该方法的返回类型是`ResponseEntity
| 归档时间: |
|
| 查看次数: |
37600 次 |
| 最近记录: |