AngularJS — Отсутствует граница в POST-данных multipart / form-data

У меня есть следующий код:

app.controller("carousels", function($http, $location, $rootScope, $state, $stateParams, $scope, PopUp, DTColumnDefBuilder, DTOptionsBuilder) {

{ ... }

$scope.save = function() {
$http({
method: "POST",
url: "./controllers/carousels/create.php",
headers: {
"Content-Type": "multipart/form-data"},
data: $scope.carousels,
transformRequest: function (data, headersGetter) {
var formData = new FormData(),
headers = headersGetter();

angular.forEach(data, function (value, key) {
formData.append(key, value);
});

delete headers["Content-Type"];

return formData;
}
}).success(function(response) {
console.log(response);
});
};
});

Файл create.php полностью пуст, и функция сохранения вызывается с помощью ng-submit в теге формы.

<form name="form" ng-submit="save()">
<div class="box box-default">
<div class="box-header with-border"></div>

<div class="box-body">
<div class="form-group" has-error>
<label for="image">{{ "txt.pages.carousels.fields.image" | translate }}*</label>
<div class="fileinput fileinput-new input-group" data-provides="fileinput">
<div style="display: table-row;">
<div class="form-control" data-trigger="fileinput">
<i class="glyphicon glyphicon-file fileinput-exists"></i>
<span class="fileinput-filename"></span>
</div>
<span class="btn btn-default btn-file input-group-addon">
<span>{{ "txt.action.file" | translate }}</span>
<input type="file" accept="image/*" name="image" id="image" ng-model="carousels.image" ngf-select required>
</span>
</div>

<div class="fileinput-preview thumbnail" data-trigger="fileinput">
<img ng-src="./uploads/{{ carousels.image }}">
</div>
</div>
</div>
</div>

<div class="box-footer">
<button type="submit" class="btn btn-default">{{ "txt.action.save" | translate }}</button>
</div>
</div>
</form>

После отправки формы консоль возвращает следующее сообщение:

Предупреждение: Отсутствует граница в POST-данных multipart / form-data в неизвестный онлайн 0

Этот код всегда работал правильно во всех моих проектах, но на этот раз выдает эту ошибку, и я не могу найти решение.
Единственное отличие этого проекта от других заключается в том, что в этом я использую UI-Router. Я пытался найти связь между ними, но ничего не нашел.

Кто-нибудь знает, что может быть причиной этой ошибки и как ее исправить?

4

Решение

После долгого времени и просмотра различных функций через Интернет, просто изменили заголовок:

headers: {
"Content-Type": "multipart/form-data"},

Для того, чтобы:

headers: {
"Content-Type": undefined
},

И код снова функционирует нормально.

Спасибо вам за помощь.

8

Другие решения

Почему вы удаляете тип контента в transformRequest, если вы анализируете его через свойство «header»?

Вы пытались не удалять контент-тип?

0

Вместо отправки данных как multipart/form-data:

headers: {
'Content-Type': "multipart/form-data'
}

Вы должны отправить его как application/json:

headers: {
'Content-Type': 'application/json'
}

Если проблема не устранена, вы также можете изменить data в params,

0