Загрузка файла из Angular 6 в Core Web Api, размещенного на Local IIS, не работает - PullRequest
0 голосов
/ 27 сентября 2018

В настоящее время я работаю над приложением Angular 6 с проектом Asp.Net Core (2.1) Web Api.Моя цель - загрузить файл из внешнего интерфейса Angular в веб-интерфейс API.Все работает локально (тестирование через прогон через IDE).Но когда я попытался загрузить приложение Angular и Web Api на локальный IIS, все работало, кроме функции загрузки.Ниже приведена ошибка:

Failed to load http://localhost:60/api/xxx/xxx?params=x: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:61' is therefore not allowed access. The response had HTTP status code 500.

CORS уже настроен на моем веб-интерфейсе.

Есть идеи, что вызывает эту проблему?

1 Ответ

0 голосов
/ 27 сентября 2018

Я ничего не знаю о Asp.Net, но если вы видите эту ошибку, то CORS не настроен должным образом на стороне сервера.

Тот факт, что код ответа был 500, означает, что серверВозможно, в стороннем коде возникла проблема при обработке запроса OPTIONS из браузера и возникновении некоторой ошибки.

Единственный способ узнать наверняка - это отладить его.

Распространенной ошибкой при работе с запросами CORS является забывание о том, что браузер собирается отправить два запроса: сначала запрос OPTIONS без заголовка аутентификации, а затем фактический запрос (GET, POST и т. Д.).с заголовком аутентификации, но тогда и только тогда, когда в ответе на запрос OPTIONS возвращается соответствующий заголовок Access-Control-Allow-Origin.

Если ваш код .NET пытается проверить заголовок аутентификации наОпция запроса, он не найдет.Возможно, вы получаете исключение с нулевым указателем или как вы это называете в .NET?

...