@GET
@Path("/downloadFile")
ActionStatus downloadFile(@QueryParam("file") String file);
And then in the implementation we have:
public void downloadFile(String filePath) throws BusinessApiException {
HttpServletResponse response = // see http://czetsuya-tech.blogspot.com/2017/09/how-to-access-httpservletrequest-and.html
File file = new File(getProviderRootDir() + File.separator + filePath);
if (!file.exists()) {
// handle exception
}
try {
FileInputStream fis = new FileInputStream(file);
response.setContentType(Files.probeContentType(file.toPath()));
response.setContentLength((int) file.length());
response.addHeader("Content-disposition", "attachment;filename=\"" + file.getName() + "\"");
IOUtils.copy(fis, response.getOutputStream());
response.flushBuffer();
} catch (IOException e) {
// handle exception
}
}
*Note: IOUtils is from apache commons.
0 nhận xét:
Đăng nhận xét