KearneyKang 发表于 2021-9-27 12:15:19

浏览器导出报表文件的扩展名不正确

在报表进行跨域处理的时候,有时会遇到这样一个问题:浏览器导出报表文件的扩展名不正确,所有的扩展名都是.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"); });
    });
}
页: [1]
查看完整版本: 浏览器导出报表文件的扩展名不正确