У меня есть сервлет ведьма генерирует .xls
файл, а затем он посылает сгенерированный файл пользователю для загрузки на код ниже:Странный ответ сервлета вопрос
// Write the output to a file
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter=
new SimpleDateFormat("yyyy_MMM_dd");
String dateNow = formatter.format(currentDate.getTime());
String path = "webapps/myapp/exports/";
String fileName = ("Table_export_"+ dateNow + ".xls");
FileOutputStream fileOut = new FileOutputStream(path+fileName);
wb.write(fileOut);
fileOut.close();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename="+fileName);
Файл сохраняется на сервере с размер 5 кб, но после диалогового окна браузера и после выбора сохранения или открытия файл пуст, а размер - 0 кб. Я не понимаю, что случилось.
Я борюсь с этим вопросом около 2 часов без успеха. Я попытался установить полный путь:
response.setHeader("Content-Disposition","attachment;filename="path+fileName);
Но я получил документ со странным названием, и это тоже было 0 кб.
Я уверен, что у меня что-то действительно малое, но как младший разработчик, я все еще не могу понять.
Вы пытаетесь отправить файл в ответ HTTP или что? Извините, я не понимаю ваш код. – Rafa
да, это то, что я пытаюсь сделать. – Slim
Но вместо этого вы сохраняете файл в файловой системе! Если вы хотите отправить файл через HTTP, вы должны написать байты в 'OutputStream', которые вы получите из ответа HTTP. – AlexR