要求
C端:用户端(http://www.b.com)
A端:管理端(http://admin.b.com)
问题:A端上传图片到C端指定文件夹内保存,供C端使用。
方案
① C端从nuget引入Microsoft.AspNetCore.Mvc.Cors
Install-Package Microsoft.AspNetCore.Mvc.Cors
② Startup文件中的ConfigureServices方法添加
var sites = Configuration.Get<ConfigModel>().AdminSite.Split(","); //跨域,让管理端上传图片文件 services.AddCors(option => option.AddPolicy("adminCors", policy => policy.WithOrigins(sites).AllowAnyHeader().AllowAnyMethod().AllowCredentials()));
sites是string [],允许的站点,这里的sites=["http://admin.b.com"];
③ Configure方法内添加
app.UseCors("adminCors");
④ 添加FileController.cs,并完成业务逻辑
⑤ A端Ajax调用
$.ajax({ url: 'http://www.b.com/File/Upload', type: 'POST', data: data, processData: false, contentType: false, crossDomain: true,
//带上cookie xhrFields: { withCredentials: true }, success: function (res) { //一些逻辑 }, error: function (err) { //一些逻辑 } });
最终完成:
C端的文件目录