我的应用程序中有一个文件下载Controller,使用ViewerJS必须在浏览器中呈现它们。
@RequestMapping(value = "/getFile", method = RequestMethod.GET)
public void getCompanySlide(@CurrentUser User user,
@RequestParam("userId") String encryptedUserId,
@RequestParam("fileName") String fileName,
HttpServletResponse response) throws IOException {
if (user != null){
Filestore fileStore = fileStoreService.findByUserIdAndFileName(encryptedUserId, fileName);
fileStoreService.getFile(fileStore, response, true);
}
}
该库使用XMLHttpRequest来获取文件。
var c = new XMLHttpRequest;
c.onreadystatechange = function () {
var a, f;
4 === c.readyState && ((200 <= c.status && 300 > c.status || 0 === c.status) && (a = c.getResponseHeader("content-type")) && q.some(function (b) {
return b.supportsMimetype(a) ? (f = b, console.log("Found plugin by mimetype and xhr head: " + a), !0) : !1
}), b(f))
};
c.open("HEAD", a, !0);
c.send()
在c.open函数中的Javascript部分上,它向我的控制器发送HEAD请求,并在其中为我返回404。应该是什么原因?