zoukankan      html  css  js  c++  java
  • 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 = $("<form id='downloadfileform' method='get'><input id='input_data' name='data' type='hidden'>" +
            "<input id='pSize' name='pSize' value='"+obj.pSize+"' type='hidden'>"+
            "<input id='pNum' name='pNum' value='"+obj.pNum+"' type='hidden'>"+
            "<input id='flag' name='flag' value='"+obj.flag+"' type='hidden'>"+
            "<input id='sts' name='sts' value='"+obj.sts+"' type='hidden'>"+
            "</form>");
    $eleForm.attr("action",url);
    
    $(document.body).append($eleForm);
    //提交表单,实现下载
    $eleForm.submit();
    
  • 相关阅读:
    时间的计算
    中英文词频统计
    组合数据类型,英文词频统计
    作业二
    学号提取
    用for循环产生的网址
    温度转换
    身份证号码提取
    数字游戏
    更改mysql连接个数
  • 原文地址:https://www.cnblogs.com/Ivy-s/p/7473163.html
Copyright © 2011-2022 走看看