使用JQuery开始下载文件

时间:2014-05-01 10:16:35

标签: javascript jquery

我想在点击按钮时开始下载文件 我只有文件的路径。
我该如何开始下载?
这是我到目前为止所尝试的:

$('#download_button').click(function(){

    var filepath = $(this).attr('data-filepath');
    var do = '<a href="'+ filepath +'" download="file">file</a>';
    $(body).append(do);
});

我做错了什么 我从不想重定向页面。
如果安装在客户端计算机上,则在浏览器或软件中下载启动以下载文件

4 个答案:

答案 0 :(得分:6)

或者您也可以设置top.location

$('#download_button').click(function(){
    var filepath = $(this).attr('data-filepath');
    top.location.href = filepath;
});

答案 1 :(得分:3)

您无法强制在JavaScript中下载文件。

您可以执行的操作是location.href = "somefile.ext";,但是如果服务器包含Content-Disposition: attachment作为其响应标头之一,它将下载该文件请求。

答案 2 :(得分:0)

如果要将文件下载到客户端,请执行以下操作:

$('#download_button').click(function(){
    var filepath = $(this).attr('data-filepath');
    location.href = filepath;
});

location.href会查找某个页面,但找不到任何内容,因此会下载该文件。

答案 3 :(得分:0)

您可以使用jQuery创建表单并使用submit函数。这不会更改地址栏中的URL。

$('#download_button').click(function(){

        var filepath = $(this).attr('data-filepath');
        var form = $('<form>').attr('action', filepath);
        form.submit();
});