小编Lan*_*nce的帖子

提供静态图像文件时的 Dotnet Core 3.1 cors 问题

我使用 Angular 在与前端 html 站点不同的域上托管我的 dotnet core 3.1 API。我正在使用 jquery 水印插件在图像上添加水印,但有时图像显示正常,但未添加水印。当我检查控制台时,它显示错误,指出对图像的访问被 CORS 策略阻止。我的 API 都工作正常,没有 cors 问题。

我的 API 设置中做错了什么?看起来正常的静态文件可以工作,但是使用canvas.toDataURL()获取图像时提示错误。

我配置了 Startup.cs 配置方法,如下所示:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseCors(builder => builder
         .AllowAnyOrigin()
         .AllowAnyMethod()
         .AllowAnyHeader()
         );
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
        }

        app.UseStaticFiles(new StaticFileOptions()
        {
            OnPrepareResponse = ctx => {
                ctx.Context.Response.Headers.Append("Access-Control-Allow-Origin", "*");
                ctx.Context.Response.Headers.Append("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            },
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot")),
            RequestPath = new PathString("")
        });
        if (!env.IsDevelopment())
        {
            app.UseSpaStaticFiles();
        }

        app.UseRouting();
        app.UseAuthentication();
        app.UseAuthorization(); …
Run Code Online (Sandbox Code Playgroud)

jquery watermark cors .net-core angular

3
推荐指数
1
解决办法
3188
查看次数

标签 统计

.net-core ×1

angular ×1

cors ×1

jquery ×1

watermark ×1