У меня есть один файл изображения, который я преобразовываю в byte[]
и сохраняю его в базе данных, пока пользователь щелкает ссылку на файл из пользовательского интерфейса, чтобы загрузить файл, чтобы загрузить, я написал один метод
public void downloadDeclarationForm(HttpServletRequest request,
HttpServletResponse response) throws IOException {
int payrollId = RequestUtils.getBrowsePayroll(request);
Payroll payroll = itConfigManager.getObjectOrNull(Payroll.class, payrollId);
int year = payrollManager.getYear(payroll.getFromDate());
int id = NumberUtils.toInt(request.getParameter("id"));
try {
byte[] byteBuf = itConfigManager.getDeclarationFormBytes(id, year);
ControllerUtils.writeFileUploadHeaders(response,
itConfigManager.getFileName(id, year), byteBuf.length);
//response.setContentType("image/jpeg");
OutputStream stream = new ByteArrayOutputStream();
response.getOutputStream().write(byteBuf);
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (Exception e) {
e.printStackTrace();
response.getOutputStream().print(
"Error while fetching attachment..");
} finally {
response.getOutputStream().close();
}
}
Когда я нажимаю на ссылку для загрузки, открывается окно загрузки, даже если в этом окне имя файла отображается с правильным расширением, но файл не открывается, если я сохраняю этот файл на диск и пытаюсь открыть его, но не открывается. кто-нибудь мне помочь?