ASP.Net Core MVC+Ajax 跨域
程序员文章站
2022-03-20 08:56:26
要求 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,并完成业务逻辑
⑤ 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端的文件目录
推荐阅读