У меня есть некоторые XML-файлы хранятся в виде строки в моей базе данных и лестница + пружинной основе бэкэнде с этим контроллером:Загрузка файла с помощью AJAX + пружинного веба
@RequestMapping(value = Array("/download"), method = Array(RequestMethod.GET))
def downloadFile(@RequestParam filename: String, //some more params
response: HttpServletResponse) = {
val fileContent = // some logic here, returns file content as String
response.setContentType("application/xml")
response.setHeader("Content-Disposition", s"attachment;filename=$filename")
response.setStatus(HttpServletResponse.SC_OK)
response.getOutputStream.write(fileContent.getBytes)
response.flushBuffer()
}
Также у меня есть этот скрипт:
$.ajax({
type: "GET",
url: url,
data: {
filename: filename //and some more params
}
})
Затем я отправляю HTTP-запрос на сервер, получаю правильный HTTP-ответ, а затем ничего не происходит. Вся информация, которую я имею в журналах браузера, заключается в том, что ответ имеет содержимое файла в теле и заголовках, но загрузка никогда не запускается.
Что я делаю неправильно?
Я видел эти SO Q & А, но они не помогают мне вообще:
UPD1: Также пытался this one, без результата.
Почему вы не хотите вызывать API с помощью тега привязки, чтобы вы могли напрямую загрузить файл. Я думаю, что будет g8 –