Je développe une application mobile utilisant un cadre ionique. Je veux télécharger des fichiers pris dans la galerie à un serveur php. J'utilise le plugin file-transfer de cordova pour le faire fonctionner, mais il ne fonctionne pas bien. Mon application atteint le serveur, je suis sur parcequ'il m'indique la taille du fichier dites-moi la taille du fichier uploadé, mais le fichier et les autres parmetres ne sont pas transferés. Qu'est-ce qui ne va pas? Comment puis-je résoudre ce problème?
$scope.uploader = function(){
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName='lolita.jpg';
options.httpMethod = "POST";
options.mimeType="image/jpeg";
options.headers = {Connection: "close"};
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
options.chunkedMode = false;
alert(JSON.stringify(options));
var ft = new FileTransfer();
//YOUR_URL = Actual web url where web-service is exists.
ft.upload(cordova.file.externalRootDirectory + "NehmiApp/lol.jpg", encodeURI(nehmiRestApiBasicLink), win, fail, options, true);
function win(success){
alert("Uploader succes: " + JSON.stringify(success))
}
function fail(err){
alert("Echec: " + JSON.stringify(err));
}
}
Je fais le test en choisissant par défaut un fichier nommé "lol.jpg".
Je teste sur mon serveur avec un var_dump:
var_dump($_FILES["file");
echo $_POST["value1"]
ça me donne le resultat suivant:
bytesSent: 12245
error: undifined ixdex file ect....
error code: 1
aide svp
Perso j´ai fais de l´upload sous ionic en utilisant la directive ng upload. (L´API attend un objet FILE). Ca fonctionne nickel et pas besoin de plugin cordova :)
J'ai fais comme ça car justement l'API attendait du $_FILES. Sinon j'aurais fais avec le plugin cordova en passant du base64 je pense. Mais vu que j'avais pas la main sur l'API REST , j'ai pas eu d'autre choix =)
Le fichier est uploader sur un hebergement que m'a permis d'utiliser un ami. mais quand je teste en local(avec Wamp), les données envoyées sont vides.