$ _FILES无法使用Angular.js $ http帖子

I had one issue.I can not store image file inside the local folder using Angular.js.Please check my code below.

index.html:

<div class="col-md-6 bannerimagefile" ng-controller="imgController">
<form  name="form">
<label for="bannerimage" accesskey="B"><span class="required">*</span> Banner Image</label>
<input type="file" class="filestyle" data-size="lg" name="bannerimage" id="bannerimage" ngf-select ng-model="file" name="file" ngf-pattern="'image/*'" accept="image/*" ngf-max-size="20MB" ngf-min-height="100" ngf-resize="{width: 100, height: 100}" custom-on-change="uploadFile" multiple>
<label for="bannerimage" accesskey="B" ><span class="required">*</span> View Image</label>
<div style="padding-bottom:10px;" ng-repeat="step in stepsModel">
<img ng-src="{{step}}" border="0" name="bannerimage" style="width:70px; height:70px;">
</div>
<div><input type="button" id="btn" ng-click="submitImage();" value="Upload" /></div>
<div class="clear"></div>
</form>
</div>

The below code is my controller file.

var app=angular.module('testImage',['ngFileUpload']);
app.controller('imgController',function($scope,$http,$filter){
    $scope.submitImage=function(){
        var today = $filter('date')(new Date(),'yyyy-MM-dd HH:mm:ss');
        var newpath=today+"_"+ $scope.file.name;
        var arrFile={'name':newpath,'size':$scope.file.size,'type':$scope.file.type};
        var data={'image':arrFile}
        $http({
            method:'POST',
            url:"upload.php",
            data:data,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        }).then(function successCallback(response){
            console.log('res',response);
        },function errorCallback(response) {
        });
    }
    $scope.stepsModel = [];
    $scope.uploadFile = function(event){
        console.log('event',event.target.files);
        var files = event.target.files;
        for (var i = 0; i < files.length; i++) {
         var file = files[i];
             var reader = new FileReader();
             reader.onload = $scope.imageIsLoaded; 
             reader.readAsDataURL(file);
     }
    };
    $scope.imageIsLoaded = function(e){
    $scope.$apply(function() {
        $scope.stepsModel.push(e.target.result);
    });
}
});
app.directive('customOnChange', function() {
  return {
    restrict: 'A',
    link: function (scope, element, attrs) {
      var onChangeHandler = scope.$eval(attrs.customOnChange);
      element.bind('change', onChangeHandler);
    }
  };
});

In the above code i am creating unique name for each image and i need when i will also save those images with therespective unique name.

upload.php:

<?php
if(isset($_FILES['image'])){    
    $errors= array();        
    $file_name = $_FILES['image']['name'];
    $file_size =$_FILES['image']['size'];
    $file_tmp =$_FILES['image']['tmp_name'];
    $file_type=$_FILES['image']['type'];   
    $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
    $extensions = array("jpeg","jpg","png");        
    if(in_array($file_ext,$extensions )=== false){
         $errors[]="image extension not allowed, please choose a JPEG or PNG file.";
    }
    if($file_size > 2097152){
        $errors[]='File size cannot exceed 2 MB';
    }               
    if(empty($errors)==true){
        move_uploaded_file($file_tmp,"upload/".$file_name);
        echo " uploaded file: " . "images/" . $file_name;
    }else{
        print_r($errors);
    }
}
else{
    $errors= array();
    $errors[]="No image found";
    print_r($errors);
}
?>

By using this php code i am getting always No image found message in the browser console.Please help me to do this.

doulechou0700
doulechou0700 让我们在聊天中继续讨论。
接近 5 年之前 回复
dsxcv5652
dsxcv5652 我现在真的要去睡觉了。@me如果你成功的话。祝好运。
接近 5 年之前 回复
du6029076877
du6029076877 让我检查,我会遵守你。
接近 5 年之前 回复
douyun8885
douyun8885 另外,请确保您要上传的文件夹具有正确的写入权限,并且是正确的文件夹并且存在。检查错误。
接近 5 年之前 回复
doubipeng1336
doubipeng1336 你需要用这个标题替换你现在的标题:{enctype:'multipart/form-data'}或者如果它允许你添加它。我知道在上传文件时绝对需要。
接近 5 年之前 回复
douhu7807
douhu7807 :好的,你可以用我的代码编辑你的答案吗?
接近 5 年之前 回复
dongqian0763
dongqian0763 :Hay我按你的方式做了但得到了同样的问题。
接近 5 年之前 回复
dtvdz911959
dtvdz911959 您没有在ajax请求中发送文件,您发送的只是元数据(即名称,大小,类型),您没有将图像dataURL或实际图像文件附加到数据对象。
接近 5 年之前 回复
dongzhenshen7435
dongzhenshen7435 添加一个enctype<formname=“form”enctype=“multipart/form-data”>或<formname=“form”enctype=“multipart/form-data”method=“post”>
接近 5 年之前 回复
duanhui4160
duanhui4160 我得到它不能进入​​如果声明的PHP文件。
接近 5 年之前 回复
doulizhi1247
doulizhi1247 您能否正确使其正确,以便按要求运作。
接近 5 年之前 回复
dsyua2828
dsyua2828 另外,这里有2个不同的文件夹声明move_uploaded_file($file_tmp,“upload/".$file_name);echo“上传文件:”。“图片/”。$FILE_NAME;
接近 5 年之前 回复
dqy0707
dqy0707 看起来你没有使用有效的enctype
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问