Почему ax ios GET ошибка при загрузке json файла с удаленного AWS S3 сервера - PullRequest
3 голосов
/ 18 января 2020

В приложении React я пытаюсь загрузить файл. json из AWS S3 со следующим кодом:

componentDidMount() {

    axios.get(`https://amplify-NotRealUrl-dev-333333-deployment.s3.us-east-2.amazonaws.com/rulesSummaryData2.json`)
      .then(response => {
        console.log("SUCCESS", response);
      }, error => {
        console.log("ERROR", error);
      });
}

В окне консоли браузера появляется эта ошибка:

Ошибка ОШИБКИ: ошибка сети при createError (createError. js: 16) в XMLHttpRequest.handleError (xhr. js: 83)

JSON ширина файла -открыто для публикации c, нет разрешений, и я могу добавить URL-адрес в браузер и загрузить без аутентификации. Также я могу успешно выполнить GET в Почтальоне. Кроме того, я подключил URL-адрес GET open api, а не. json, но он вернулся успешно. Кажется, проблема с. json. Однако я видел много ссылок, показывающих схожую функциональность с. json. Я что-то упустил!

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ (Обновление): Эта ошибка возникает независимо от того, какой URL я использую. Например, если я использую топор ios .get (https://ThisIsNotAValidURLThisIsNotAValidURLThisIsNotAValidURLThisIsNotAValidUR.json)

, я все равно получаю ту же ошибку. Кроме того, я использовал другое базовое приложение React, чтобы убедиться, что эти проекты не являются причиной, тот же результат.

1 Ответ

2 голосов
/ 18 января 2020

Непонятно следит за вами. Если вы говорите, что вы можете получить доступ к https://bucket-name.s3.us-east-2.amazonaws.com/rulesSummaryData2.json в почтальоне, это похоже на проблему cors для меня.

Cors для корзины S3

, если вы этого еще не сделали, настройте приведенную ниже политику Cors в корзине S3.

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Ссылка:

Как добавить конфигурацию Cors в корзину S3 - https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html

...