Я пробовал каждое решение в Интернете, но не смог добиться успеха.Отправка данных формы и загрузка файла одновременно в Angular JS
Я могу загружать файлы изображений, используя Angular JS. Но на этот раз мне нужны дополнительные значения для сохранения изображения на сервере. Я пытаюсь отправить два массива. Один из них будет файлом, другой - простой почтовой информацией с информацией о папке.
subjectDetails.addData = function(post_value){
var defer = $q.defer();
var fd = new FormData();
fd.append('files', post_value.files);
fd.append('data', post_value.data);
//fd.append("data", 'something');
//fd.append("data", JSON.stringify(post_value.data));
$http.post($rootScope.defaultApiPath + '/saveItem', fd, {
withCredentials : false,
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(response, status){
defer.resolve(response);
})
.error(function(error, status){
defer.reject(error);
});
return defer.promise;
};
Когда я его, я могу получить файл изображения с $ _FILES, но $ _POST переменная NULL.
Я попытался
var_dump($_POST); //NULL
var_dump($_POST['data']); //NULL
var_dump($_FILES); //shows only the file info. The other array is not in it
EDIT
я нашел причину. Проблема не в javascript. Я использую Slim Framework на стороне сервера, а Slim Framewrok не может проанализировать объект FormData. Когда я пытаюсь опубликовать объект FormData в простой файл PHP, он работает. Но Слим Framework 3 он не работает
Я попытался
$request->getBody(); //Still NULL
$request->getParsedBody(); //Still Null
Я не угловая пользователь. Но проверяете ли вы угловую документацию, если они ее поддерживают? – Miks
Я ничего не мог найти об отправке данных и загрузке изображений в угловую документацию. Но я уверен, что он разорван. Мне просто интересно, поддерживается ли этот метод для старых версий угловых. Я использую 1.5, и он не работает. Но сообщения с 2015 года. Не так уж и старые :) –