2015-09-11 81 views
0

我正在使用slim框架在angularjs中創建簡單的應用程序。在這一點上,我正在創建一些數據,如名稱,類別,貨幣和圖像文件等形式。在這個應用程序,我有輸入類型文件的麻煩。我可以得到所有的文本框或單選按鈕等數據,但我無法獲得輸入類型文件的數據。以下是該代碼。

index.html的: - HTML文件如何在angularjs中獲取輸入類型文件的值?

<form method="POST" enctype="multipart/form-data" class="form account-form" name="form" ng-submit="creator(user)" role="form"> 
<input type="text" name="name" ng-model="user.name" /> 

<input type="radio" name="category" ng-model="user.category" value="Science" >         
<input type="radio" name="category" ng-model="user.category" value="Engineerig" > 

<input type="file" ng-model="user.image_file" name="image_file"> 
</form> 

registerController.js: - 控制器文件

app.controller('CreatorController', function($scope,$rootScope,$location,$http,CreatorService,FlashService) { 
    $scope.creator = function (user) { 
     // alert("create"); 
     $scope.dataLoading = true; 
     CreatorService.creator(user) 
       .then(function (response) { 
        if(response.data['message']){ 
         FlashService.Success('Registration successful', true); 
         $location.path('/crete-page'); 
        } else { 
         FlashService.Error('Registration failed'); 
        } 
       }); 
    }  
}); 

registerDB.php: - DB處理PHP在纖薄的框架文件目錄

<?php 

function insertUser($data) { 

    print_r($data); //Getting All data here from form but not getting File values 
} 
?> 
+3

可能重複的<輸入類型= 「文件」 />](http://stackoverflow.com/questions/17063000/ng-model-for-input-type-file) –

回答

0

如果你想把它發送給服務器,你不能只接收這個文件併發送它,有時你必須將它轉換爲一個blob或其他東西。

我發現這個fiddle

don't know if it works but you can try. (stupid stackoverflow makes me put code after a fiddle link, wtf!) 

否則,您可以使用angular-file-upload,至少我是這樣使用的,當我試圖做這樣的事情。但是我在服務器上使用nodejs,甚至在服務器上我必須使用另一個特定於該情況的庫。不知道它如何與PHP一起工作。

GL!

0

這可能是老問題,但我遇到同樣的問題,這就是我如何解決它。

將此代碼添加到registerController.js

function getPath() { 
     $('#filePath ').on('change',function() 
     { 
      var filePath = $(this).val(); 
      $scope.fileURL = filePath; 
     }); 
    } 
getPath(); 

$ scope.fileURL然後將舉行輸入文件中的數據/值。然後就可以設置user.image_file將這個值 「$ scope.fileURL」 和你HTML應該

<input id="filePath " type="file" ng-model="user.image_file" name="image_file"> 

希望這有助於[NG-模型

相關問題