我有一些 xml 文件作为字符串存储在我的数据库和基于 scala+spring 的后端使用这个控制器:
@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&A 但他们根本没有帮助我:
UPD1:也试过这个,没有结果。