0

我有以下代码,它成功地选择了我想要的许多图像。

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 作为后端编程和 Angular Js 作为前端上传到服务器?

提前致谢!

4

1 回答 1

1

您的成功回调中使用 fileTransfer 插件。

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);

以及如何处理发送到服务器的文件,请查看此处

我查看了 fileTranfer 插件的文档,发现它默认具有“分块”模式。我不确定这个特定插件是否有一个现成的 php 库(如果有,请告诉我,因为我打算很快做你现在正在做的事情)但是这个分块模式方法已得到充分记录并被广泛使用,因此您应该能够找到解决方案。

希望其他人看到这个帖子并给你真正的帮助。

于 2015-07-11T04:07:07.817 回答