У меня есть текстовый файл, сохраненный на сервере, и мне нужно сделать его доступным для загрузки клиенту. Я пытался сделать это, я не знаю, правильно ли он или нет, я нашел его на каком-то сайте, он не работает.
String filePath = fName;
File downloadFile = new File(filePath);
FileInputStream inStream = new FileInputStream(downloadFile);
ServletContext context = request.getSession().getServletContext();
mimeType = "application/octet-stream";
response.setContentType(mimeType);
response.setContentLength((int) downloadFile.length());
String headerKey = "Content-Disposition";
String headerValue = String.format("attachment; filename=\"%s\"", downloadFile.getName());
response.setHeader(headerKey, headerValue);
// obtains response's output stream
OutputStream outStream = response.getOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
System.out.print(""+buffer);
}
inStream.close();
outStream.close();
}catch(Exception e){
logger.log(Level.INFO,"Error "+e);
}