Загрузить изображение из приложения, созданного с помощью Monaca и PhoneGap
У меня есть этот код, который я использую для отправки данных формы на веб-сервер. Работает отлично.
$('form').submit(function(){
//var landmarkID = $(this).parent().attr('data-landmark-id');
var postData = $(this).serialize();
// +'&lid='+landmarkID
$.ajax({
type: 'POST',
data: postData,
url: 'http://cykel.donslund.net/save_bicycle.php',
success: function(data){
console.log(data);
alert('Your comment was successfully added');
},
error: function(){
console.log(data);
alert('There was an error adding your comment');
}
});
return false;
});
В моем приложении я также делаю снимок. Как отправить это изображение на сервер вместе с данными формы?
1 ответ
Я сделал то же самое вчера. У меня есть функция для выбора фотографии. Я даю вам угловой код и файл php.
$scope.selectPicture = function() { // select picture action
var cameraOptions = {
quality: 50,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
destinationType: Camera.DestinationType.FILE_URI,
targetWidth: 400,
targetHeight: 400,
allowEdit: true
};
var success = function(data) {
$scope.$apply(function() {
$scope.picData = data;
var fileURL = data;
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
options.chunkedMode = true;
var params = {};
params.id = numeroData.get();
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI("http://www.example.net/upload.php?key=" + idData.get()), viewUploadedPictures, function(error) {
alert('erreur');
});
function viewUploadedPictures() {
}
});
};
var failure = function(message) {
alert('Failed because: ' + message);
};
navigator.camera.getPicture(success, failure, cameraOptions);
};
<?php
header('Access-Control-Allow-Origin: *');
if(isset($_GET['key'])){
move_uploaded_file($_FILES["file"]["tmp_name"], "img/".$_GET['key'].".jpg");
}
?>