Angular JS не может отправить данные формы вместе с файлом-данными

0

Новичок в угловой. У меня есть форма, в которой одно поле ввода имеет файл типа. Остальные - это текстовые поля и поля выбора. Я хочу, когда я отправлю форму, все данные формы, включая данные файла, должны публиковаться вместе. Вот мой код, пожалуйста, просмотрите.

//HTML

<input type="file" name="student_image" onchange="angular.element(this).scope().uploadFile(this.files)" ng-model="formData.studentImage" id="student_image">

//JS

var from_data = new FormData();
$scope.uploadFile = function (files) {
        from_data.append("file", files[0]);
};
$scope.submit = function () {
        from_data.append('fullname',$scope.formData.studentFullname);
        from_data.append('fullname',$scope.formData.studentEmail);
        from_data.append('class',$scope.formData.studentClass);
        $http({
            method: 'POST',
            url: 'process.php',
            enctype: 'multipart/form-data',
            processData: false,
            data: from_data, // pass in data as strings
            headers: {'Content-Type': false}  // set the headers so angular passing info as form data (not request payload)
        }).success(function (data) {
            console.log(data);
        });
    };
Теги:
forms

1 ответ

0

Нет свойств enctype и processData. Вам также необходимо предотвратить сериализацию JSON. Следующее должно работать:

$http({
        method: 'POST',
        url: 'process.php',
        data: from_data, 
        headers: {'Content-Type': undefined},
        transformRequest: angular.identity, //to prevent JSON serialization
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню