Я пытаюсь отправить файл (xlsx) клиенту со стороны сервера, используя RWT RAP, я пытаюсь получить стандартное всплывающее окно "сохранить как"
Вот где я нахожусь:
public static void openFile(Shell parent, String filename) {
HttpServletResponse response = RWT.getResponse();
try {
File source = new File(filename);
FileInputStream inputStream = new FileInputStream(source);
// obtains ServletContext
ServletContext context = RWT.getUISession(parent.getDisplay()).getHttpSession().getServletContext();
String relativePath = context.getRealPath("");
System.out.println("relativePath = " + relativePath);
// gets MIME type of the file
String mimeType = context.getMimeType(filename);
if (mimeType == null) {
// set to binary type if MIME mapping not found
mimeType = "application/octet-stream";
}
System.out.println("MIME type: " + mimeType);
response.setContentType(mimeType);
response.setContentLength((int) source.length());
// forces download
String headerKey = "Content-Disposition";
String headerValue = String.format("attachment; filename=\"%s\"", source.getName());
response.setHeader(headerKey, headerValue);
// obtains response's output stream
OutputStream outStream = response.getOutputStream();
byte[] buffer = new byte[25000];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outStream.flush();
outStream.close();
} catch (Exception e) {
System.out.println("error : " + e.getMessage());
}
}
В моем браузере я получил нечитаемый символ с этой ошибкой в конце: Ошибка: SyntaxError: Неожиданный токен P в JSON в позиции 0
Ив своей консоли я заметил это исключение (не уверен, что оно связано с моей реальной проблемой)