4

首先要保证有一个后台可以下载文件的方法,这里只总结前端解决方法,所以不对后台做分析,假设现在有一个下载文件的方法/project/download.action。如果不想通过后台直接下载可以看我的另一篇文章《 html使用a标签不通过后台实现直接下载》。

  1. 使用a标签

    <a href="/project/download.action" target="_blank">点击下载</a>

    这里target属性不给也可以,但是页面会闪一下,体验不好。

  2. 使用location.href属性

    function downloadFile(url){
        location.href=url;
    }
  3. 使用window.open

    function downloadFile(url){
        window.open(url);
    }
  4. 使用iframe

    //javascript版本
    function downloadFile(url){
            var iframe = document.createElement("iframe");  
            document.body.appendChild(iframe);  
            iframe.src =url;
    }
    
    //jQuery版本
    function downloadFile(url){
        $("body").append($("<iframe/>").attr("src",url);
    }

    调用
    <a href="javascript:void(0);" onclick="downloadFile('/project/download.action')">点击下载</a>

个人推荐第4种方法,比较灵活。


MartinDai
1.5k 声望236 粉丝

保持学习心态,持续成长