`
小抽又回来了
  • 浏览: 11292 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

下载文件需要在Header添加中加Authorization放token时可用 POST方式

阅读更多

 

 function toExport(){

var province = $("#province option:selected").text();

var city = $("#city option:selected").text();

var county = $("#county option:selected").text();

var name = $("#names").val();

var currencyName = $("#nor_name").val();

var observationLayer = $("#level").val();

var checkStatus = $("#status").val();

if(province=="请选择省"||province=="请选择省份"){

province=""

    }

    if(city=="请选择市"){

city=""

    }

    if(county=="请选择"||county=="请选择区/县"){

county=""

    }

var url = ip + "/station/export";

var data =encodeFormData({

            province:province,

city:city,

county:county,

currencyName:currencyName,

name:name,

observationLayer:observationLayer,

checkStatus:checkStatus

    }) ;

var xhr = new XMLHttpRequest();

              xhr.open("post", url, true);

     xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')

              xhr.responseType = "blob";

              xhr.setRequestHeader('Authorization',"Bearer " + store.get("access_token"));

              xhr.onload = function () {

 

                  if (this.status == 200) {

                      var blob = this.response;

                      var reader = new FileReader();

                      reader.readAsDataURL(blob);

                      reader.onload = function (e) {

                          var a = document.createElement('a');

                          a.download = "台站数据"+"."+"xls";

                          a.href = e.target.result;

                          document.body.appendChild(a);

                          a.click();

                          document.body.removeChild(a);

                      }

                  }

              };

              xhr.send(data);

}

 

//封装data

function encodeFormData(data){

    if(!data) return '';

    var pairs = [];

    for(var name in data){

        if(!data.hasOwnProperty(name)) continue;

        if(typeof data[name] === 'function') continue;

        var value = data[name].toString();

        name = encodeURIComponent(name.replace('%20','+'));

        value = encodeURIComponent(value.replace('%20','+'));

        pairs.push(name+'='+value);

    }

    return pairs.join('&');

}

 

0
0
分享到:
评论

相关推荐

    php获取不到名为Authorization的header头

    解决php获取不到客户端发来的Authorization的header头信息

    文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf

    在下载文件时,需要设置 Content-Disposition 头字段来指定文件的名称和类型。但是,如果文件名包含中文字符,可能会出现乱码问题。这是因为 HTTP 消息头中的中文字符需要进行编码。 解决这个问题的方法是使用 ...

    七牛云存储删除文件和获取token

    实现这一功能时,你需要先在服务器端生成一个带有删除权限的Upload Token,然后在Android客户端使用这个Token发起删除请求。生成Token的过程涉及到了七牛云存储的鉴权机制,通常包括Access Key、Secret Key和Policy...

    Unity 中通过UnityWebRequest 以GET形式传authorization 的参数请求数据。

    Unity 中通过UnityWebRequest 以GET形式传authorization 的参数...注意: 以Header头文件的形式发送请求,authorization要放入请求头部。 以头文件形式发起请求进行Token验证,token为Authorization中的授权验证码。

    ajax添加header整理

    这种方式更灵活,适用于需要动态设置Header的情况,尤其是在Header信息依赖于用户操作或者其他动态因素时更为适用。 #### 三、Header的作用 Header在AJAX请求中扮演着非常重要的角色,它可以用来: - **指定接收...

    Android OkHttp实现全局过期token自动刷新示例

    在获取最新的Token时,我们可以使用同步请求方式来获取最新的Token,然后使用新的Token创建新的请求,并重新请求网络数据。 使用OkHttp实现全局过期token自动刷新可以解决在Android开发中常见的问题,提高了开发...

    jmeter接口(包含token)测试

    在JMeter中,可以使用"HTTP Header Manager"组件来添加自定义头部,比如设置`Authorization`头为`Bearer your_token`。如果token是动态获取的,可以通过预处理器(如JSR223 PreProcessor)来获取或生成token,并将其...

    httpclient请求oauth服务器中的token

    6. **刷新令牌(Refresh Token)**:当访问令牌过期时,客户端可使用刷新令牌获取新的访问令牌。 接下来,我们将讨论如何使用HttpClient与OAuth2.0服务器交互: 1. **配置HttpClient**:首先,我们需要创建一个...

    Spring Cloud Feign统一设置验证token实现方法解析

    template.header("Authorization", System.getProperty("fangjia.auth.token")); } } ``` 在这里,我们可以看到,我们使用了RequestTemplate来设置token信息,并将其添加到请求头中。 在微服务中,我们可以使用...

    Retrofit2图片上传下载带token校验

    在处理图片上传和下载时,通常需要结合OkHttp、Glide或Picasso等其他库来实现。此外,为了保证安全性,很多应用会采用token验证机制来保护API接口。本文将详细介绍如何使用Retrofit2实现图片的上传与下载,并结合...

    restful风格请求,token鉴权实例

    3. **校验Token**:对于每个受保护的API,我们需要验证请求头中的Authorization字段是否包含有效的JWT。在Spring Boot中,这可以通过创建一个自定义的`Filter`或使用`@PreAuthorize`注解来实现。 4. **自定义注解**...

    微软SharePoint Java API 工具类及ID和Token申请方法

    此外,Token有有效期,过期后需要刷新,这可以通过获取Refresh Token并在需要时换取新的Access Token来实现。 总之,使用Java API与微软SharePoint集成涉及多个步骤,包括应用注册、权限配置、Token获取和使用...

    Python 如何实现Bearer模式的Token验证 Python源码

    Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何...

    JFinal+token基础demo

    - 配置文件:可能包含关于Token策略的配置,如过期时间、存储方式等。 通过分析和学习这个示例,开发者可以掌握在JFinal项目中集成Token认证的基本步骤,从而提升Web应用的安全性。同时,理解Token认证的原理也有助...

    winform调用webapi获取Token授权案例,webapi使用oauth2.0权限控制

    如果WebAPI支持刷新令牌(Refresh Token),客户端可以在令牌即将过期时发送一个刷新请求,获取新的访问令牌。 这就是在WinForm应用中调用使用OAuth2.0授权的WebAPI的基本步骤。在实际项目中,还需要考虑错误处理、...

    springboot-token代码版eclipse

    这种方式优于传统的Cookie session,因为Token可以在多个设备和浏览器间共享,且更利于移动应用和API的开发。 在SpringBoot中,我们可以使用Spring Security框架来实现Token验证。Spring Security是一个强大的和...

    Nginx上配置Basic Authorization登录认服务证的教程

    在HTTP中,Basic Authorization基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。 在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果...

    WebApi Token+ 数字签名认证源码

    3. **请求处理**:客户端在向API发起请求时,会在HTTP头中添加Authorization字段,携带Token。例如,对于Bearer Token,格式为`Authorization: Bearer <token>`。 4. **Token验证**:在WebAPI的Controller方法执行...

    asp.net webapi2 基于token令牌的身份验证

    然后,客户端在后续的API调用中,将Token放入HTTP请求头的`Authorization`字段,格式为`Bearer {token}`。WebAPI2会自动检查这个头,并调用OAuthBearerAuthenticationMiddleware进行验证。 对于JWT,我们可以使用如...

    第三方QQ登陆通过code获取token的方法

    你的应用接收到这个`code`后,需要向QQ的Token API发送一个POST请求,包含`app_id`、`app_key`(应用密钥)、`grant_type`(通常为`authorization_code`)、`code`以及`redirect_uri`。QQ服务器验证这些信息无误后,...

Global site tag (gtag.js) - Google Analytics