我的应用程序假设从数据库下载文件。
控制器:
@GetMapping(value = "/download/{id}")
public ResponseEntity<Resource> downloadBook(@PathVariable Long id) {
Book book = bookService.findById(id);
return ResponseEntity.ok().contentType(MediaType.APPLICATION_PDF)
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + book.getFileName() + ".pdf\"")
.body(new ByteArrayResource(book.getFile()));
}
当我直接从浏览器(下载弹出窗口)调用它时,这有效,但我想做的是用 ajax 调用处理它。到目前为止,这是我的 ajax 方法,但这段代码实际上只是提醒我成功,没有弹出下载。
downloadBook : function(bookId) {
$.ajax({
url : basePath + '/book/download/' + bookId,
success : function() {
alert("success!");
},
error : function() {
alert("error!");
}
});
}
婷婷同学_
慕尼黑8549860
相关分类