2017-09-05 177 views
0

我需要上傳沒有形式的AngularJS圖像。但我不知道如何在Laravel收到它,發送它。 我的代碼是這樣的:上傳圖片無形式的Laravel AngularJS

<input type="file" name="file" accept="image/jpeg, image/png" id="file" ng-model="data.image"> 


$('input[type=file]').change(function() { 
    $scope.img = this.files[0]; 
    var filePath = $("#file").val(); 
    var reader = new FileReader(); 
    reader.onload = function (e) { 
     $('#image').attr('src',e.target.result); 
     $scope.img["imgbase64"] = e.target.result; 
    }; 
    reader.readAsDataURL(this.files[0]); 
}); 

我使用這裏的服務:

 var imgSend = new FormData(); 
     imgSend.append("file",$scope.img); 
     data["image"] = imgSend; 
      url = "maquinas"; registroMaquinaServices.servicesRegistroMaquinaPost(url,data).then(function(promise){ 
        var requests = promise.data.response; 
        console.log(requests); 
       }) 

我送這laravel。

enter image description here

感謝。

+0

檢查此鏈接https://stackoverflow.com/questions/18571001/文件上傳 - 使用 - angularjs –

回答

0

您可以使用https://github.com/ghostbar/angular-file-model 來處理上傳你的圖片文件,然後你就可以創建表單對象,並將其發送到您的laravel服務器能夠得到的圖像文件定期上傳的文件,一base64編碼一個。 這是我使用的例子,這樣做 所有需要發送到服務器的數據的代碼在$scope.data可變

$http({ 
    headers: { 
     'Content-Type': undefined //undefined value is on purpose 
    }, 
    method: method, 
    url: url, 
    data: $scope.data, 
    transformRequest: function(data, headersGetter) { 

     var formData = new FormData(); 

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

     return formData; 
    } 
})