• 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();
    
  • 相关阅读:
    JavaWeb笔记
    Session案例_登录注销
    会话
    Cookie入门
    jsp入门
    if else优化
    cheap-source-map--不显示源码 、source-map--显示源码 、 eval--最快的编译办法
    npm run dev 克隆报错
    $emit和$on的用法
    npm
  • 原文地址:https://www.cnblogs.com/Ivy-s/p/7473163.html
Copyright © 2020-2023  润新知