У меня есть Java Servlet под названием DownloadFile и в Получ У меня есть некоторый код, получающий файл с базой данных и загружает его, когда я перейти к URLСкачать файл с JavaServlet
localhost:9080/myapp/DownloadFile
Но я не хочу чтобы отправить мой пользователю этой страницы, чтобы загрузить файл, так что в моем JavaScript на нажатие кнопки у меня есть этот
$scope.downloadTemplate = function(){
console.log("download template called");
$.get("DownloadTemplate", function(responseText) {
console.log(responseText)
});
}
функция вызывается, и сервлет вызывается, но файл не скачивается , Зачем? Здесь у вас есть соответствующий код сервлета
bytes = templateSet.getBytes("FILE");
fileName = templateSet.getString("TEMPLATE_FILE_NAME");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition",
"attachment;filename=" + fileName);
ServletOutputStream out = response.getOutputStream();
out.write(bytes);
out.flush();
out.close();
Как загрузить файл и сохранить его на странице, где находится кнопка загрузки?
Благодаря
«Не загружается» означает, что его содержимое не выводится на консоль командой 'console.log (responseText)'? Имейте в виду, что вы не можете загрузить файл с помощью AJAX, для этого вам нужен регулярный запрос/переадресация страницы. –
@JiriTousek Я вижу его напечатанным в консоли, но файл не загружается в мою файловую систему. Итак, какой тип запроса мне нужен? Почему вы не можете сделать это с помощью ajax – iqueqiorio
Возможные дубликаты: http://stackoverflow.com/questions/33786773/using-window-openurl-self-opens-download-window-but-not-get-request/33786994, http: //stackoverflow.com/questions/4545311/download-a-file-by-jquery-ajax, http://stackoverflow.com/questions/20830309/download-file-using-an-ajax-request –