我有以下代码:
jQuery.ajax({
type: "GET",
url: "http://localhost:8081/myservicethatcontainsazipfile",
contentType:'application/zip',
success: function (response) {
console.log("Successful");
},
error: function (xhr, ajaxOptions, thrownError) {
console.log("Error.");
}
});
根据AJAX规范,您无法直接将文件下载到计算机(安全原因),因此我想知道如何直接从客户端下载此文件,而无需创建并单击html元素,类似的选择?
答案 0 :(得分:0)
使用AJAX无法做到这一点。但是,您可以重定向/打开一个新窗口,将用户带到文件页面,该页面将自动开始下载。
如果您不想要任何按钮,可以使用其中一行JavaScript。
window.open(download_url, '_blank')
window.location = 'download_url'
请注意,出于安全考虑,您需要在开始下载前至少等待3-5秒。
setTimeout(() => window.location = 'download_url', 5000);
您还应该查看How to start automatic download of a file in Internet Explorer?
答案 1 :(得分:0)
您还可以查看filesaver.js