欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.Net Core MVC+Ajax 跨域

程序员文章站 2022-07-11 09:15:23
要求 C端:用户端(http://www.b.com) A端:管理端(http://admin.b.com) 问题:A端上传图片到C端指定文件夹内保存,供C端使用。 方案 ① C端从nuget引入Microsoft.AspNetCore.Mvc.Cors ② Startup文件中的Configure ......

要求

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,并完成业务逻辑

ASP.Net Core MVC+Ajax 跨域

ASP.Net Core MVC+Ajax 跨域

 

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

ASP.Net Core MVC+Ajax 跨域