js 前端实现文件流下载的几种方式

后端是用Java写的一个下载的接口,返回的是文件流,需求:点击,请求,下载

利用iframe实现文件流下载

//把上一次创建的iframe删掉,不然随着下载次数的增多页面上会一堆的iframe
var haveIframe = $("iframe")
if(haveIframe){
    haveIframe.remove();
}
downloadFile(url);
function downloadFile(url) {   
   try{ 
        var elemIF = document.createElement("iframe");   
        elemIF.src = url+'?pSize=1&pNum=1&flag=1&sts=Y';   
        elemIF.style.display = "none";   
        document.body.appendChild(elemIF);   
    }catch(e){ 
        zzrw.alert("下载异常!");
    }     
}

利用from表单实现文件流下载

//同样道理,把上一次创建的form删掉,不然随着下载次数的增多页面上会一堆的form
var haveForm = $("#downloadfileform")
if(haveForm){
    $("#downloadfileform").remove();
}
var $eleForm = $("
" + ""+ ""+ ""+ ""+ "
"); $eleForm.attr("action",url); $(document.body).append($eleForm); //提交表单,实现下载 $eleForm.submit();

转载于:https://www.cnblogs.com/Ivy-s/p/7473163.html

你可能感兴趣的:(js 前端实现文件流下载的几种方式)