ReactJS: невозможно отправить данные JSON и PDF-файл за один вызов POST

Я работаю над GRAILS-ReactJs основанный проект, который включает в себя сценарий, в котором мне нужно отправить RESUME и данные JSON в одном вызове POST. Тем не менее, я могу отправить файл за один вызов, но данные, которые я получаю, нулевые. я использую Grails-3 на моей стороне сервера и получения запроса POST в виде составного файла. Я хочу, чтобы оба объекта JSON и файловый объект Multipart были объединены в один объект для отправки на сервер, и я хочу получить файл и данные JSON как на стороне сервера. Я попытался изменить тип содержимого заголовка, но ut не работает.

1 ответ

Решение

Вы не можете публиковать данные JSON вместе с файлом или любым другим вложением. Вы можете опубликовать это как данные формы на вашем сервере. Данные формы передаются как данные, состоящие из нескольких частей, на сервер с соответствующими границами. Вот пример кода для вашей справки. Вы можете передавать данные json вместе с formData в качестве пары ключ-значение.

export function postAttachment (fileData, fileName) {
  let formData = new FormData()
  formData.append('prop1', 'value1')
  formData.append('prop2', 'value2')
  formData.append('upload', fileData, fileName)
  return fetch('/your/endpoint', {
    headers: {
      'Accept': 'application/json',
      'header1': 'headerValue1'
    },
    method: 'POST',
    body: formData
  })
}

Надеюсь это поможет. Удачного кодирования!

Другие вопросы по тегам