Ошибка при загрузке файла через данные формы с использованием jQuery - PullRequest
2 голосов
/ 27 апреля 2020

Я сталкиваюсь с ошибкой при загрузке файла через Formdata с использованием jQuery.

Сведения об ошибке - Обязательное тело запроса отсутствует. Входное сообщение не читается.

Снимок экрана ошибки

  1. Почему граничные значения отличаются?
  2. Почему служба неудачу? Что-то не так с моими данными формы? Пожалуйста, сравните его с успешным снимком экрана.

Успешный звонок

var formData = new FormData();
formData.append('object', JSON.stringify({
  "properties": {
    "object_name": "Test Doc4",
    "r_object_type": "eri_wg_doc",
    "eri_document_type": "Agenda",
    "eri_conf_class": "Ericsson Confidential",
    "eri_audience": "Workgroup Members - Restricted",
    "ignore-number": false,
    "allow-new-version": false
  }
}));

formData.append('content', files[0]);

var aData = jQuery.ajax({
  type: "POST",
  contentType: "multipart/form-data;boundary=----LGZlKL2faC2ilpCJ",
  headers: {
    "Authorization": "Basic " + btoa("username" + ":" + "password"),
    "accept": "application/json"
  },
  url: "https://domain/repositories/folders/0b004cff89977940/documents?skipSSO=true",
  processData: false,
  data: formData,
  success: function(data, status) {
    console.log(data);
  }
});

1 Ответ

0 голосов
/ 27 апреля 2020

Причина проблемы в том, что вы устанавливаете свои contentType и границу. Это неправильная практика при загрузке файлов через jQuery AJAX.

. Правильная практика - использовать contentType: false при предоставлении объекта FormData свойству data. jQuery настроит сам заголовок contentType и сохранит границы согласованными.

...