zoukankan      html  css  js  c++  java
  • post下载文件到本地-兼容ie

    一般下载都是给一个下载文件地址
    然后前端拿到这个绝对路径
    a链接打开就是下载是吧

    但是有些后端,偏偏就是用post接口,返回一个二进制文件流
    可能这样不用写入本地(服务器)吧。
    不用清理管理和维护

     解决办法

    // 导出excel
      function postExcelFile(data, url) {
        var form = document.createElement('form'); //创建form标签
        form.setAttribute("style","display:none");
        form.setAttribute("method","post");//设置请求方式
        var exportData = ''  //设置发送后台数据
        for(var key in data){
          if(data.hasOwnProperty(key)){
            if (data[key]) {
              exportData += key + '=' + data[key] + '&'
            }
          }
        }
        form.setAttribute("action",baseUrl+url+"?"+exportData); //action属性设置请求路径
        document.body.appendChild(form); //页面添加form标签
        
        var input1 = document.createElement("input") //创建input标签
        input1.setAttribute("type","hidden") //设置隐藏域
        
        form.appendChild(input1);
        form.submit();//表单提交即可下载!
        document.body.removeChild(form); //页面删除form标签
      }
    
    /**
       * 点击导出按钮
       * @param obj 导出的数据
       */
      $('.export').click(function(e) {
         postExcelFile(param,exportUrl); //param为from Data格式的参数,exportUrl为请求地址
      }        

    ie8是支持的,现代浏览器就更不用说了



  • 相关阅读:
    nginx 命令
    nginx 配置文件(windows)
    nginx 配置文件(linux)
    nginx 安装
    什么是REST架构
    名词解释
    建造者模式
    单例模式
    工厂模式
    赋值运算符,拷贝构造函数,clone()方法总结
  • 原文地址:https://www.cnblogs.com/dshvv/p/12535692.html
Copyright © 2011-2022 走看看