【问题标题】:Asp.NET Core StaticFiles Cors Errors?Asp.NET Core StaticFiles Cors 错误?
【发布时间】:2021-02-26 21:24:02
【问题描述】:

我在 .NET Core 3.1 中有项目。在 React 中开发前端。我有一些小问题,静态文件(.doc,.pdf)保存在 wwwroot 文件夹中。但是当我从 UI 调用这个文件时,会出现 Cors 错误。 我们在 Startup.cs 中添加了 Cors 配置。每个想法都很好,但静态文件不起作用。请帮帮我

【问题讨论】:

    标签: c# asp.net .net asp.net-core


    【解决方案1】:

    如果您将静态文件功能与 IApplicationBuilder 扩展方法 UseStaticFiles() 一起使用,则不会应用 Cors。 您必须使用 OnPrepareResponse 来提供 CORS 标头并将 ICorsServiceICorsPolicyProvider 注入到 Statup Configure 方法中

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ICorsService corsService, ICorsPolicyProvider corsPolicyProvider)
    {
    
        // ...
    
        app.UseStaticFiles(new StaticFileOptions
        {
            ServeUnknownFileTypes = true,
            OnPrepareResponse = (ctx) =>
            {
                var policy = corsPolicyProvider.GetPolicyAsync(ctx.Context, "CorsPolicy")
                    .ConfigureAwait(false)
                    .GetAwaiter().GetResult();
    
                var corsResult = corsService.EvaluatePolicy(ctx.Context, policy);
    
                corsService.ApplyResult(corsResult, ctx.Context.Response);
            }
        });
    
        // ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-14
      • 2021-06-21
      • 1970-01-01
      • 2021-02-25
      • 2021-01-03
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      相关资源
      最近更新 更多