让后端设置了Access-Control-Expose-Headers还是获取不到filename?

这篇具有很好参考价值的文章主要介绍了让后端设置了Access-Control-Expose-Headers还是获取不到filename?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:导出一个文件,从后端设置的content-disposition中获取对应的fileName,but,本地获取正常,但是部署线上就无法获取。

大过年的@让修改,你敢信?

前端获取  重要代码

 let fileName=decodeURIComponent(res.headers['content-disposition'].split('=')[1]);

让后端设置了Access-Control-Expose-Headers还是获取不到filename?,前端踩坑记,http,网络协议,网络,vue.js

 但是res.headers部署后获取不到content-dispostion,就很无语

接下来是解决思路,基本问题就出在这几个方面

1.首先检查响应拦截器是否直接返回的res.data,这个时候获取的是不包含请求头的,所以拦截器那里需要修改

按照自己封装得返回得,就是要返回所有

让后端设置了Access-Control-Expose-Headers还是获取不到filename?,前端踩坑记,http,网络协议,网络,vue.js

2. 其次检查netWork得接口得请求头

让后端设置了Access-Control-Expose-Headers还是获取不到filename?,前端踩坑记,http,网络协议,网络,vue.js

 是否返回了对应的Content-Disposition,保证后端已经设置且返回

3.是否设置了请求头进行暴露了对应的Content-Disposition

让后端设置了Access-Control-Expose-Headers还是获取不到filename?,前端踩坑记,http,网络协议,网络,vue.js

 十分重要,当时我这边参考了对应文章和后端沟通让设置

response.setHeader("Access-Control-Expose-Headers","Content-Disposition");
后端后来设置后,前端还是怎么也拿不到请求头中的Content-Disposition,然后就是甩锅,说前端自己获取不到,大家半斤八两的何必呢,只能找原因

直到看到一篇JavaScript 无法获取响应 header 的 Content-Disposition 字段_明天也要努力的博客-CSDN博客_response中headers里没有content-disposition

 里面的一个截图,看到,才知道后端根本没有设置上,反手就想给一巴掌,然后后端查询原因才知道他们的暴露的头部不知道咋设置死了,后期设置无法添加上(不太懂后端)

总算问题得到了解决,花费2小时,很无语。只知道甩锅不解决问题的后端

当然也是学习,补充下原理知识

算了参考上面那个文章,我这只做个记录文章来源地址https://www.toymoban.com/news/detail-658044.html

到了这里,关于让后端设置了Access-Control-Expose-Headers还是获取不到filename?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发安全之:Database access control

    Overview 如果没有适当的 access control,就会执行一个包含用户控制主键的 SQL 指令,从而允许攻击者访问未经授权的记录。 Details Database access control 错误在以下情况下发生: 1. 数据从一个不可信赖的数据源进入程序。 2. 这个数据用来指定 SQL 查询中主键的值。 在这种情况下,在

    2024年01月17日
    浏览(35)
  • 开发安全之:Access Control: Database

    Overview 如果没有适当的 access control,mysql_query执行一个 SQL 指令时,如果该指令包含一个受攻击者控制的主键,从而允许攻击者访问未经授权的记录。 Details Database access control 错误在以下情况下发生: 1. 数据从一个不可信赖的数据源进入程序。 2. 这个数据用来指定 SQL 查询中

    2024年01月21日
    浏览(36)
  • No ‘Access-Control-Allow-Origin‘ header is present on the requested resource关于vue跨域问题 重复Access-Control-Allow-Origin

            浏览器为了安全考虑,有一个最基本的安全策略,即同源策略。         同源策略规定:浏览器在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求,即请求的协议、域名、端口号都相同,满足同源策略,可以访问服务器,否则,只要有一个不

    2024年02月06日
    浏览(44)
  • No ‘Access-Control-Allow-Origin‘ header is present on the requested resource关于vue跨域问题 重复Access-Control-Allow-Origin

            浏览器为了安全考虑,有一个最基本的安全策略,即同源策略。         同源策略规定:浏览器在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足三个要求,即请求的协议、域名、端口号都相同,满足同源策略,可以访问服务器,否则,只要有一个不

    2023年04月17日
    浏览(59)
  • 基于角色访问控制-RBAC(Role-Based Access Control)

    RBAC(Role-Based Access Control)是一种基于角色的访问控制模型,它是一种安全策略,用于限制系统中用户对资源的访问权限。RBAC模型的核心概念是用户角色和资源访问权限。 在角色访问控制中,首先需要定义系统中的角色以及每个角色对应的权限。角色通常根据用户在组织中的

    2024年02月10日
    浏览(41)
  • Access-Control-Allow-Origin跨域解决及详细介绍

    首先,跨域不是问题。是一种安全机制。 这是你在开发时、上线前就必须提前考虑到的安全问题并且采取合适的手段去避免这个问题带来的程序错误。不过通常情况下,前端开发的小伙伴们都非常坚信后端小伙伴的接口一定已经处理好了跨域这个需求。然而事实上许多的前端

    2024年02月02日
    浏览(37)
  • K8s中的RBAC(Role-Based Access Control)

    RBAC(基于角色的访问控制)是一种在Kubernetes中用于控制用户对资源的访问权限的机制。以下是RBAC的设计实现说明: 角色(Role)和角色绑定(RoleBinding):角色定义了一组权限,角色绑定将角色与用户或用户组相关联。通过角色和角色绑定,可以在集群或命名空间级别授予用

    2024年02月09日
    浏览(28)
  • Java中设置多个Access-Control-Allow-Origin跨域访问

    1、如果服务端是Java开发的,添加如下设置允许跨域即可,但是这样做是允许所有域名都可以访问,不够安全。 response.setHeader(“Access-Control-Allow-Origin”,\\\"*\\\"); 2、为保证安全性,可以只添加部分域名允许访问可以在过滤器的filter的dofilter()方法种设置。 public void doFilter(ServletReq

    2024年02月14日
    浏览(42)
  • Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    前言 当出现403跨域错误的时候  No \\\'Access-Control-Allow-Origin\\\' header is present on the requested resource ,需要给Nginx服务器配置响应的header参数: 一、 解决方案 只需要在Nginx的配置文件中配置以下参数: 上面配置代码即可解决问题了,不想深入研究的,看到这里就可以啦=-= 二、 解释

    2024年02月22日
    浏览(43)
  • Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决

    前提环境:在A服务器,调用B服务器的资源,报错出现找不到请求头Access-Control-Allow-Origin,输入跨域问题, 需要使用配置nginx来处理 例如:A服务器是liunx系统部署了一个java程序,B服务器是本地服务器,A服务器需要请求访问B服务器的资源,可以用nginx代理来请求到B服务器的资

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包