Я новичок в ionicFramework и Angularjs и смог настроить мое приложение с этим контроллером для захвата изображений с камеры или из фотогалереи устройства. Но моя проблема в том, как включить заголовок изображения и поле ввода, а затем отправить файл php на мой сервер для обработки бизнес-логики:
$scope.takePhoto = function(){
var options = {
quality: 80,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 500,
targetHeight: 500,
popoverOptions: CameraPopoverOptions,
correctOrientation: true,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.srcImage = imageData;
}, function(err) {
// error
});
};
//Photo from gallery
$scope.selectPhoto = function(){
var options = {
quality: 80,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 500,
targetHeight: 500,
correctOrientation: true
};
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.srcImage = imageData;
}, function(err) {
// error
});
};
$scope.uploadPhoto = function(){
$scope.photoDetails = {};
$scope.photoDetails.desc = "";
var fileURL = $scope.srcImage;
var uploadOptions = new FileUploadOptions();
uploadOptions.fileKey = "file";
uploadOptions.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
uploadOptions.mimeType = "image/jpeg";
uploadOptions.chunkedMode = false;
$cordovaFile.uploadFile('www.mydomain.com/upload_user_photo.php', fileURL, uploadOptions).then(
function(result) {
// Success!
}, function(err) {
// Error
});
}
Пожалуйста, мне нужно, как включить входную переменную заголовка в мою загрузку и как также получить их в php файле. Я получаю их с почтой или как?
Вы можете включить его в params в таких опциях
$scope.uploadPhoto = function(){
var fileURL = $scope.srcImage;
var caption = $scope.caption;
var filename = fileURL.substr(fileURL.lastIndexOf('/') + 1);
var options = {
fileKey: "file",
fileName: filename,
chunkedMode: false,
mimeType: "image/jpeg",
params : {'directory':'upload', 'fileName':filename, 'caption':caption}
};
$cordovaFileTransfer.upload(AppData.get("siteUrl") + 'upload.php', fileURL, options).then(function(result) {
alert(result.response);
}, function(err) {
console.log("ERROR: " + JSON.stringify(err));
alert(err);
}, function (progress) {
// constant progress updates
});
};
Других решений пока нет …