使用jquery下载文件停止浏览器如下?

时间:2012-01-25 11:24:49

标签: jquery

如何在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()但我不是,如果这是我需要的吗?或者我应该实施它,如果它?

2 个答案:

答案 0 :(得分:0)

只能使用服务器端语言执行下载,发送适当的标头以及要下载的文件。它不能用javascript完成。

无论如何,浏览器有时可能会选择询问用户该做什么 - 尝试打开或保存 - (例如,当请求无法识别的mimetype文件时)但它仍然是一个你无法通过脚本控制的自动行为

答案 1 :(得分:0)

我认为用户决定是否有一些文件(比如pdf是在浏览器中打开还是下载)并且您必须设置正确的标题服务器端,无论如何您可以在新窗口中打开文件以便当前页面没隐藏

                success: function () {
                   window.open(window.location.host+ '/uploads/docs/' + name );
                }