ASP.Net Core MVC+Ajax 跨域


要求

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端的文件目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM