Destell
@Destell
Зеленый фронтендер

Axios uri и xhr uri — почему загрузка файла идет только в последнем?

Xhr успешно отправляет файл, Axios все время возвращает 404, в чем может быть косяк?
Изображения берутся с устройства, инпатов нет, путь предоставляет ImagePicker. Отправка идет на S3, привязка к параметру formdata не проходит.
Требуется использовать uri.

Axios
axios.put(
    "https://url",
    {
      uri: "file:///image.jpg"
    },
    {
      headers: {
        "Content-Type": "image/jpeg"
      }
    }
  );


Xhr
return new Promise((resolver, rejecter) => {
    const xhr = new XMLHttpRequest();

    xhr.onload = () => {
      if (xhr.status < 400) {
        resolver(true);
      } else {
        const error = new Error(xhr.response);
        rejecter(error);
      }
    };
    xhr.onerror = error => {
      rejecter(error);
    };

    xhr.open(
      "PUT",
      "https://url"
    );
    xhr.setRequestHeader("Content-Type", "image/jpeg");
    xhr.send({
      uri:
        "file:///image.jpg"
    });
  });
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Укажи правильный заголовок:

let data = new FormData();

let gameFile = document.getElementById("create-game-file").files[0];
data.append('gameFile', gameFile, gameFile.name);

let settings = { 
  headers: { 
    'content-type': 'multipart/form-data' 
  } 
};

axios.post('api/games', data, settings)
.then(response => {
    console.log(response)
}).catch(response => {
    console.log(response)
})


https://medium.com/@ldiebold/ajax-file-upload-with...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы