在报表进行跨域处理的时候,有时会遇到这样一个问题:浏览器导出报表文件的扩展名不正确,所有的扩展名都是.rdlx的后缀
出现这种问题的主要原因是因为,在通过 CORS(链接)使用 Fetch API(我们用于下载导出的文件)时对访问响应标头的限制导致的问题
那么如何解决该问题了,如果报表服务是.Net项目,在cinfig文件中进行如下配置就行
- HttpContext.Current.Response.AddHeader("Access-Control-Expose-Headers", "Content-Disposition");
复制代码
如果报表服务是core项目,在Startup的方法中进行如下配置
- public void ConfigureServices(IServiceCollection services)
- {
- services.AddReporting();
- services.AddControllers();
- services.AddCors(options =>
- {
- options.AddPolicy("AllowAll", builder =>
-
- { builder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost") .AllowCredentials() .AllowAnyMethod() .AllowAnyHeader() .WithExposedHeaders("Content-Disposition"); });
- });
- }
复制代码 |