Ошибка при загрузке файла с использованием FormData AngularJS $ http и PHP - PullRequest
0 голосов
/ 31 августа 2018

Директива

.directive('fileModel', ['$parse', function ($parse) {
return {
   restrict: 'A',
   link: function(scope, element, attrs) {
      var model = $parse(attrs.fileModel);
      var modelSetter = model.assign;

      element.bind('change', function(){
         scope.$apply(function(){
            modelSetter(scope, element[0].files[0]);
         });
      });
   }
};

Контроллер

.controller('MainController', ['fileUpload', fileUpload) {
   self.chainImgFile;
   self.uploadFile = function(type){
   if(type == 'hotelChain') {

        var result = fileUpload.uploadFileToUrl(self.chainImgFile, {type: 'hotelChain', hotelChainId: self.uploadChainId});

   } else {

        var result = fileUpload.uploadFileToUrl(self.hotelImgFile, {type: 'hotel', hotelChainId: null});
   } 

   self.showMessage(result); 
};

Услуги

.service('fileUpload', ['$http', function($http) {

this.uploadFileToUrl = function(file, extraData) {

   var fd = new FormData();
   fd.append(extraData.type, file);

   return $http.post(FILES_UPLOAD_URL, fd, {
      transformRequest: angular.identity,
      headers: {'Content-Type': undefined}
   });
};
}]);

HTML

<form name="newDataForm" novalidate>
    <div layout="column">
                <label class="btn btn-outline-primary">
                      <span>Image</span>
                        <input type="file" file-model="MainController.chainImgFile"/>
                        <button ng-click="MainController.uploadFile('hotelChain')">Upload File</button>
                </label>

            </div>
</form>

PHP

$uploadPrefix = 'upl';
$tempPath = $_FILES['hotelChain']['tmp_name'];
    $fileExtension = explode(".", $_FILES['hotelChain']['name']);
    $uploadPath = '../../uploads/logos/hotelChains/' . $uploadPrefix . "." . end($fileExtension);
move_uploaded_file($tempPath, $uploadPath);

Я пытаюсь загрузить изображение, используя приведенный выше код, я проверил в консоли, и файл появляется на вкладке «Сеть», когда я нажимаю кнопку загрузки, но ничего не происходит, какие-либо выводы? Как я могу проверить, все ли отправляется правильно и получает ли файл PHP изображение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...