如何在jquery中停止浏览器后面的文件?我想要下载文件吗?
$('#4').change(function () {
var name = this.value;
if (name !== "") {
if (confirm("Are you sure you want to download " + name)) {
$.ajax({
url: '/uploads/4/' + name,
type: 'HEAD',
error: function () { },
success: function () {
window.location.href = '/uploads/4/' + name;
}
});
}
}
});
这就是代码现在如何运作但文件显示在现在下载的浏览器中?
我见过.preventDefault()但我不是,如果这是我需要的吗?或者我应该实施它,如果它?
答案 0 :(得分:0)
只能使用服务器端语言执行下载,发送适当的标头以及要下载的文件。它不能用javascript完成。
无论如何,浏览器有时可能会选择询问用户该做什么 - 尝试打开或保存 - (例如,当请求无法识别的mimetype文件时)但它仍然是一个你无法通过脚本控制的自动行为
答案 1 :(得分:0)
我认为用户决定是否有一些文件(比如pdf是在浏览器中打开还是下载)并且您必须设置正确的标题服务器端,无论如何您可以在新窗口中打开文件以便当前页面没隐藏
success: function () {
window.open(window.location.host+ '/uploads/docs/' + name );
}