当前位置: 首页 > 知识库问答 >
问题:

ASP.NET核心CORS与GET一起工作,但与wit POST无关

戚峻
2023-03-14

我使用Angular 4应用程序与Asp核心web api,我测试了不同的端口在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)
    )
}

共有1个答案

公冶峰
2023-03-14

飞行前请求(OPTIONS)不向服务器发送auth信息。因此,除了WinAuth之外,还需要启用匿名Auth。请参见:https://stackoverflow.com/a/50354772/946773

 类似资料:
  • .NET核心和ASP.NET核心到底有什么区别?

  • 我在文档中找不到足够的关于artemis事务的信息。我不清楚artemis交易是如何工作的,所以我想澄清一下。类中有两个方法: 和 我找不到任何开始交易的方法,我也不知道阿尔特弥斯的交易到底是什么。哪些操作可以提交或回滚? 我已经测试了几个场景,我有了我的结论。有两个操作可以提交或回滚:消息发送和消息接收(确认)。方法和仅用于提交和回滚消息发送和确认。开始事务不需要任何方法。只有可以提交或回滚的未

  • 在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。

  • 我实现的片段如下: 保存父片段的活动。使用getSupportFragmentManager()添加父片段。 在父片段中,我使用getChildFragmentManager()和事务来替换子片段。 我再一次调用儿童片段,以此类推...... 除了共享过渡,一切都很好。 如果我使用getFragmentManager()而不是getChildFragmentManager(),则存在共享转换,但没

  • 问题内容: 我想知道为什么没有确定的合作方式。我只想解析字符串: 但是我真的很困惑应该导入什么。根据此链接,我尝试导入。但是我得到这个编译错误: 然后我尝试导入和。因此,没有编译错误,但是我得到了此运行时异常(在mapper定义行中): 请指导我,我应该导入什么才能使用。谢谢 问题答案: 使用这些依赖项 jackson-databind jackson-annotations jackson- c

  • 我有一个两个Spring Boot应用程序。一个是进行rest调用的rest客户端。另一个只有Restendpoint的应用程序。 当rest客户机到达Restendpoint时,它会失败。 这是用于命中restendpoint的代码: 这是客户端尝试访问的其余endpoint: 这是我在带有restendpoint的应用程序中看到的错误: 为什么 Rest 调用适用于邮递员而不是我的 rest