Как изменить путь генерации листа Excel на стороне сервера из кода Java - PullRequest
0 голосов
/ 19 декабря 2018

Я написал один код для загрузки листа Excel с помощью сервлета и java. Мой код работает нормально, и я получаю всплывающее окно загрузки также на стороне клиента. Но создается один файл Excel с тем же именемв каталоге Apache Tomcat. С этим тоже все в порядке (потому что это полезно для пользователя, если в будущем он захочет скачать этот файл из определенного места), но я не хочу сохранять этот файл в каталоге tomcat, потому что мы не можем предоставить доступ к этомуПапка / каталог для пользователя. Итак, я хочу знать, как хранить определенный файл в определенном месте папки на сервере, а также разрешить загрузку пользователю в первый раз. Я использую jar org.apache.poi версии 3.9

Примечание. Такое поведение файла на стороне сервера происходит только для файлов формата XLS, но не для файлов формата XLSX, а такжеЯ использую только имя файла в FileOutputStream, а не полный путь.

Код, который я использую для формата файла XLS:

HSSFSheet sheet = ExcelUtil.createWorkBook(anyexcelBean);
    response.setHeader("Content-Disposition", "inline; filename=" + excelBean.getFileName());
    response.setContentType("application/vnd.ms-excel");
    OutputStream outputStream = response.getOutputStream();
    sheet.getWorkbook().write(outputStream);
    outputStream.flush();
    outputStream.close();

Код для формата XLXS:

 protected void buildDownload(HttpServletResponse response, Workbook wb, String fileName) {
    try {
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");wb.write(response.getOutputStream());
        response.getOutputStream().close();
        response.flushBuffer();
    } catch (IOException e) {
        logger.error("[WB_FILE_MGR] IOException while exporting file", e);
    }
}

Заранее спасибо за помощь.

...