找回密码
 立即注册

QQ登录

只需一步,快速开始

KearneyKang 讲师达人认证 悬赏达人认证

超级版主

199

主题

6505

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
10804

圣诞拼拼乐微信认证勋章讲师达人悬赏达人元老葡萄

KearneyKang 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-9-27 12:15  /   查看:2479  /  回复:0
在报表进行跨域处理的时候,有时会遇到这样一个问题:浏览器导出报表文件的扩展名不正确,所有的扩展名都是.rdlx的后缀
出现这种问题的主要原因是因为,在通过 CORS(链接)使用 Fetch API(我们用于下载导出的文件)时对访问响应标头的限制导致的问题
那么如何解决该问题了,如果报表服务是.Net项目,在cinfig文件中进行如下配置就行
  1. HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
复制代码

如果报表服务是core项目,在Startup的方法中进行如下配置
  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3.     services.AddReporting();
  4.     services.AddControllers();
  5.     services.AddCors(options =>
  6.     {
  7.         options.AddPolicy("AllowAll", builder =>
  8.       
  9. { builder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost") .AllowCredentials() .AllowAnyMethod() .AllowAnyHeader() .WithExposedHeaders("Content-Disposition"); });
  10.     });
  11. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部