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

4 réponses


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 :)

Ok, je vais regarder ce que ça donne

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.