前后端分别部署在不同端口,存在前端无法访问后端服务中静态文件的跨域问题。(可能本地调试正常,部署在正式环境中出现)
前端部署在9302,访问后端6201中的PDF静态文件时,提示信息如下图:
解决方案,在Startup.cs的Configure方法中补充以下代码,修改响应头。(其中“/UploadFiles”为后端静态文件保存路径,根据项目自行修改)
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//......
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(env.ContentRootPath + "/UploadFiles"),
OnPrepareResponse = (c) =>
{
c.Context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
},
RequestPath = "/UploadFiles"
});
//......
}