Писатель уже получил при загрузке файла из БД - PullRequest
0 голосов
/ 27 марта 2019

Я использую WebSphere и получаю исключение "Writer уже получен" при загрузке файла из базы данных.Функция загружает файл с пустым содержимым.Мне нужно скачать файл с контентом.Код не работает после строки response.getOutputStream () в контроллере.

private void downloadAttachement(String RefId, String fileId, HttpServletRequest req, HttpServletResponse resp) {
    try {
        FileManger fileManager = new FileManger();
        Blob FileData = fileManager.DownloadAttachment(RefId, fileId);
        System.out.println("inside down Blob  " + FileData.toString());
        String fileName = fileManager.getFileName(RefId, fileId);
        System.out.println("inside down fileName  " + fileName);
        if (FileData != null) {
            ApplicationDebugger.print("downloadAttachement 000000");
            int size = (int) FileData.length();
            byte buffer[] = FileData.getBytes(1, size);
            resp.setHeader("Conection", "keep-alive");
            resp.setContentType("multipart/form-data"); // Or whatever is correct multipart/form-data
            resp.setHeader("Accept-Ranges", "bytes");
            resp.setHeader("Content-Disposition", "attachment; filename=" + fileName);
            ApplicationDebugger.print("downloadAttachement 000001 " + resp);
            ServletOutputStream stream = resp.getOutputStream();
            ApplicationDebugger.print("downloadAttachement 000005 stream ");
            int sent = 0;
            stream.write(buffer);
            stream.flush();
        }
    } catch (IOException ioex) {
        ApplicationDebugger.print("InstructionsAction: downloadAttachement IOException : " + ioex.getMessage());
    } catch (Exception ex) {
        ApplicationDebugger.print("InstructionsAction: downloadAttachement Exception : " + ex.getMessage());
    }
}

Мне нужно скачать файл с контентом.Но он загружает пустой файл (txt, img, html .....).

...