Добрый день, подскажите пожалуйста почему так получается?
Есть контроллер который должен отдавать файлы по запросу.
папка с файлами лежит по пути: ~\src\main\resources\webapp\WEB-INF
@Controller
@RequestMapping("/jr")
public class JReportFileController {
@RequestMapping("/reportFile/{fileName}")
public void downloadReportFile(HttpServletRequest request, HttpServletResponse response,
@PathVariable("fileName") String fileName) {
String dataDirectory = request.getServletContext().getRealPath("/WEB-INF/reports/");
Path file = Paths.get(dataDirectory, fileName);
if (Files.exists(file)) {
response.setContentType("application/jasper");
response.addHeader("Content-Dispositions", "attachment;filename=" + fileName);
try {
Files.copy(file, response.getOutputStream());
response.getOutputStream().flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Если я запускаю код из IDE все работает, файл отдается. Однако после сборки, и запуска jar, программа ничего не возвращает кроме кода 200, тело ответа пустое. В чем ошибка ?