我有以下代码,它成功地选择了我想要的许多图像。
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作为前端上传到服务器?
提前感谢!
成功回调中使用文件传输插件。
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 库(如果有,请告诉我,因为我计划很快做你现在正在做的事情),但这种分块模式方法已经很好地记录并被广泛使用,所以你应该能够找到一个解决方案。
希望其他人看到这个线程并给你真正的帮助。