Использование Redux-api-middleware для передачи изображения в API - PullRequest
0 голосов
/ 06 марта 2019

Вот мои текущие данные:

enter image description here

Файл изображения - это то, что я недавно добавил в свою форму, так как это уже рабочая форма свызов API с использованием redux-api-middleware.Это фрагмент кода:

import { CALL_API } from "redux-api-middleware";

export function createTestAnnouncement(data) {
  return (dispatch, getState) => {
    const { auth: { oauthToken, oauthTokenSecret } } = getState();

    return dispatch({
      [CALL_API]: {
        endpoint: "/api/test-announcements",
        method: "POST",
        headers: {
          'Content-Type': 'application/json',
          'xoauthtoken': oauthToken,
          'xoauthtokensecret': oauthTokenSecret,
        },
        body: JSON.stringify(data),
        types: [CREATE_TEST_ANNOUNCEMENTS, CREATE_TEST_ANNOUNCEMENTS_SUCCESS, CREATE_TEST_ANNOUNCEMENTS_FAILURE]
      }
    })
  }
}

Это код без файла изображения, обратите внимание, что заголовки по-прежнему application / json, а тело анализируется в JSON.Вот мой пересмотренный код с файлом изображения в форме:

export function createTestAnnouncement(data) {
  return (dispatch, getState) => {
    const { auth: { oauthToken, oauthTokenSecret } } = getState();

    const form = Object.keys(data).reduce((f, k) => {
      f.append(k, data[k]);
      return f;
    }, new FormData());

    return dispatch({
      [CALL_API]: {
        endpoint: "/api/test-announcements",
        method: "POST",
        headers: {
          'Content-Type': 'multipart/form-data',
          'xoauthtoken': oauthToken,
          'xoauthtokensecret': oauthTokenSecret,
        },
        body: form,
        types: [CREATE_TEST_ANNOUNCEMENTS, CREATE_TEST_ANNOUNCEMENTS_SUCCESS, CREATE_TEST_ANNOUNCEMENTS_FAILURE]
      }
    })
  }
}

Я получил ошибку на своей консоли:

Ошибка: неверный заголовок типа контента, нет многочастной границы

Так как мне решить эту проблему?Как правильно отправить изображение в API с помощью redux-api-middleware?Кто-нибудь, кто может мне помочь, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...