gpt4 book ai didi

asp.net-core - Asp.net Core CORS 适用于 GET,但不适用于 POST

转载 作者:行者123 更新时间:2023-12-02 00:04:15 26 4
gpt4 key购买 nike

我正在使用带有 Asp core Web api 的 Angular 4 应用程序,我在具有不同端口的 locahost 上进行了测试。我的WebApi需要Windows身份验证(需要获取登录用户名)。所有使用 GET 的调用都可以工作,但不幸的是,我无法让 POST 工作。我有 CORS 的 WebApi 设置:

        public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddDbContext<CatalogContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});

});
services.AddMvc();
}

Angular 4 客户端正在尝试发布文件

fileChange(event) {
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
let file: File = fileList[0];
let formData: FormData = new FormData();
formData.append('uploadFile', file, file.name);
let headers = new Headers();
/** No need to include Content-Type in Angular 4 */
headers.append('Content-Type', 'multipart/form-data');
headers.append('Accept', 'application/json');

let options = new RequestOptions({ headers: headers, withCredentials: true });
this.http.post("http://localhost:495/api//upload",formData, options)
.map(res => res.json())
.catch(error => Observable.throw(error))
.subscribe(
data => console.log('success'),
error => console.log(error)
)
}

我的错误:

XMLHttpRequest 无法加载 http://localhost:495/api//upload 。请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'http://localhost:4200 ' 因此不允许访问。响应的 HTTP 状态代码为 500。

和响应 header

内容长度:0日期:2017 年 8 月 13 日星期日 13:13:09 GMT持久验证:true服务器:红隼X-Powered-By:ASP.NETX-SourceFiles:=?UTF-8?B?QzpcU291cmNlIENvZGVcUGFydG5lcnNoaXBDYXRhbG9nXFBhcnRuZXJzaGlwQ2F0YWxvZ1xQYXJ0bmVyc2hpcENhdGFsb2cuV2ViQXBpXGFwaVx1cGxvYWQ=?=

如有任何帮助,我们将不胜感激!

最佳答案

预检请求(选项)不会向服务器发送身份验证信息。因此,除了 WinAuth 之外,您还需要启用匿名身份验证。请参阅:https://stackoverflow.com/a/50354772/946773

关于asp.net-core - Asp.net Core CORS 适用于 GET,但不适用于 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com