2015-06-18 84 views
0

我有以下代碼,它成功地選擇了許多圖像,我想要的。Cordova圖像選擇器,要上傳多個圖像一次

angular.module('appControllers', []) 

.controller('HomeCtrl', ['$scope', '$rootScope', '$cordovaCamera', function($scope, $rootScope, $cordovaCamera) { 

    $scope.ready = false; 
    $scope.images = []; 

    $rootScope.$watch('appReady.status', function() { 
     console.log('watch fired '+$rootScope.appReady.status); 
     if($rootScope.appReady.status) $scope.ready = true; 
    }); 

    $scope.selImages = function() { 

     window.imagePicker.getPictures(
      function(results) { 
       for (var i = 0; i < results.length; i++) { 
        console.log('Image URI: ' + results[i]); 
        $scope.images.push(results[i]); 
       } 
       if(!$scope.$$phase) { 
        $scope.$apply(); 
       } 
      }, function (error) { 
       console.log('Error: ' + error); 
      } 
     ); 
    }; 
}]) 

參考: - http://www.raymondcamden.com/2015/03/12/selecting-multiple-images-in-a-phonegapcordova-app

我的問題我如何使用PHP作爲後端編程和角的js作爲前端上傳到服務器?

在此先感謝!

回答

1

在您的成功回調中使用fileTransfer插件here

var options = new FileUploadOptions(); 
options.fileKey = "file"; 
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1); 
options.mimeType = "image/jpg"; //or for any other extention, use fileURL.split('.').pop(); 

var ft = new FileTransfer(); 
ft.upload(fileURL, encodeURI("http://some.server.com/upload.php"), success_callback, error_callback, options); 

以及關於如何處理髮送到您服務器的文件,請查看here

我查看了fileTranfer插件的文檔,發現它默認使用了「chunked」模式。我不確定這個特定插件是否有一個現成的php庫(如果有的話,請告訴我,因爲我打算立即做你現在正在做的事情),但是這個分塊模式方法已得到充分記錄和廣泛使用,所以您應該能夠找到解決方案。

希望其他人看到這個線程,並給你真正的幫助。