lanciandolo sull'emulatore , riesco a prendere il file .img ad esempio, mi stampa URI e nome tranquillamente
codice:
// AVVIO IL SERVIZIO PER UPLOAD VIDEO E MUSICA
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
pictureSource = navigator.camera.PictureSourceType;
destinationType = navigator.camera.DestinationType;
mediaType = navigator.camera.MediaType;
Camera.MediaType = {
PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
VIDEO: 1, // allow selection of video only, WILL ALWAYS RETURN FILE_URI
ALLMEDIA: 2 // allow selection from all media types
}
var options = { quality: 80 };
options["sourceType"] =2;
options["mediaType"] = 2;
}
//filechooser
$("#provaFile").on("click", function (e) { //inizio al click
e.preventDefault(); //cancello operazione refresh
var URI;
//funzione navigator per prendere i file dalla memoria del telefono
navigator.camera.getPicture(successFn, errorFn, {
quality: 50,
destinationType:navigator.camera.DestinationType.DATA_URI,
sourceType:2,
mediaType: 2
}); //fine navigator.camera
//funzione success della selezione media
function successFn(imageURI) {
console.log("file preso");
var src = imageURI;
sorgente = imageURI;
console.log(src);
FT = new FileTransfer(); // oggetto file transfer
opzioni = new FileUploadOptions();
opzioni.fileKey = "media";
opzioni.fileName = sorgente.substr(sorgente.lastIndexOf('/') + 1);
opzioni.chunkedMode = true;
opzioni.mimeType = "image/jpeg"; // video / mp4
console.log(opzioni.fileKey);
console.log(opzioni.fileName);
FT.upload(imageURI, encodeURI(miosito/provafile.php"), fileCaricato, erroreFile, opzioni);
// mostro percentuale caricamento
FT.onprogress = function (pEvent) {
if (pEvent.lengthComputable) {
var perc = Math.floor(pEvent.loaded / pEvent.total * 100);
$("#uploadStatus").html(perc + " % caricato");
} else {
$("#uploadStatus").html("in caricamento");
}
} //fine funzione onprogress
} //fine funzione success
//funzione errore nella selezione file
function errorFn() {
console.log("errore selezione file");
}
//funzione in caso di file caricato correttamente
function fileCaricato(fresult) {
console.log("file caricato correttamente");
}
//funzione in caso di errore
function erroreFile(ftransfer) {
console.log("errore nell'inviare il file");
}
}); //fine file chooser
sul lato php ho
Codice PHP:
header("Access-Control-Allow-Origin: *"); $uploads_dir = '/web/htdocs/www.nisomusic.it/home/appnisom/musica'; $name =$_FILES['opzioni']['fileName']; if (move_uploaded_file($_FILES['opzioni']['fileName'], "$uploads_dir/$name")) { print "Received {$_FILES['userfile']['name']} - its size is {$_FILES['userfile']['size']}"; } else { print "Upload failed!"; }
controllando nella console dell'emulatore, mi vedo ritornare, file caricato correttamente.
andando sul server , nella cartella il file non c'�.
entrando nel file dal browser invece mi da upload failed, poich� non ho inserito nessun, file giusto ?
non capisco dove continuo a sbagliare