簡體   English   中英

Asp.NET 核心靜態文件 Cors 錯誤?

[英]Asp.NET Core StaticFiles Cors Errors?

我在 .NET Core 3.1 中有項目。 在 React 中開發前端。 我有一些小問題,Static 文件(.doc,.pdf)保存在 wwwroot 文件夾中。 但是當我從 UI 調用這個文件時,會出現 Cors 錯誤。 我們在 Startup.cs 中添加了 Cors 配置。 每個想法都很好,但 static 文件不起作用。 請幫幫我

如果您將 Static 文件功能與 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);
        }
    });

    // ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM