Ответ 1
Вы видели эту проблему? Отправка multipart/formdata с помощью jQuery.ajax
Похоже, вы можете запускать jQuery, добавляя заголовки типа контента, что приводит к отсутствию граничной строки. Из приведенной выше проблемы:
Его необходимо установить параметр
contentType
наfalse
, заставляя jQuery не добавлять заголовок Content-Type для вас, иначе пограничная строка будет отсутствовать. Кроме того, вы должны оставить флагprocessData
установленным вfalse
, в противном случае jQuery попытается преобразовать вашу FormData в строку, которая не удастся.
Исходя из этого, попробуйте:
$.ajax({
url: $('.uploader').attr('action'),
contentType: false,
cache: false,
processData: false,
type: 'POST',
dataType: 'json',
data: data
});
Я не пробовал это сам, но я подозреваю, что это могут быть дроиды, которые вы ищете:)