Impossible d'uploader des fichiers sur un serveur avec ionic

Par Steeve VERDIEU, il y a 9 ans


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

reivaxui, il y a 9 ans

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

Steeve VERDIEU, il y a 9 ans

Ok, je vais regarder ce que ça donne

reivaxui, il y a 9 ans

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

Steeve VERDIEU, il y a 9 ans

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.