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().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 跨域

Original: https://www.cnblogs.com/EminemJK/p/10607646.html
Author: 山治先生
Title: ASP.Net Core MVC+Ajax 跨域

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/565070/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球