Я написал один код для загрузки листа 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);
}
}
Заранее спасибо за помощь.