ASP.Net Core MVC+Ajax 跨域

要求

C端:用戶端(http://www.b.com)ajax

A端:管理端(http://admin.b.com)跨域

問題:A端上傳圖片到C端指定文件夾內保存,供C端使用。cookie

方案

C端從nuget引入Microsoft.AspNetCore.Mvc.Corsapp

Install-Package Microsoft.AspNetCore.Mvc.Cors

 

② Startup文件中的ConfigureServices方法添加url

 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方法內添加spa

app.UseCors("adminCors");

 

④ 添加FileController.cs,並完成業務邏輯3d

 

A端Ajax調用code

            $.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) { //一些邏輯 } });

最終完成:blog

C端的文件目錄圖片

相關文章
相關標籤/搜索