Phonegap android impossible de charger l'image à l'aide de transfert de fichiers

Je suis en train de capturer une image à l'aide de l'appareil photo et la télécharger sur mon AJAX point de terminaison. J'ai confirmé le que de ce point de terminaison peut accepter le fichier (j'ai créé un test HTML le fichier sur mon bureau qui envoie un formulaire avec une image). Je suis l'aide de Cordova (phonegap) 1.7.0, et essaie d'obtenir le transfert de fichiers() fonctionne. Voici le lien pour la documentation que j'ai suivi:

http://docs.phonegap.com/en/1.0.0/phonegap_file_file.md.html#FileTransfer

Le succès de rappel déclenche, mais pas de $_FILES de données se trouve sur l'ordinateur d'extrémité.

J'ai ensuite trouvé cet article:

http://zacvineyard.com/blog/2011/03/25/upload-a-file-to-a-remote-server-with-phonegap/

Qui a suggéré d'utiliser options.chunkedMode = false. Maintenant, le téléchargement prend du temps et demi, avant de finalement échoué avec le code d'erreur est de 3, ce qui je crois est FileError.ABORT_ERR.

Suis-je raté quelque chose?

Mon code à partir de l'application ci-dessous:

     navigator.camera.getPicture(function(imageURI){           
        console.log('take success! uploading...');
        console.log(imageURI);
        var options = new FileUploadOptions();
        options.fileKey = 'file';
        options.fileName = 'spot_image.jpeg';
        options.mimeType = 'image/jpeg';
        var params = new Object();
        params.spot_id = 1788;
        params.param2 = 'something else';
        options.params = params;        
        options.chunkedMode = false;
        var ft = new FileTransfer();
        ft.upload(imageURI,serverURL + '/ajax.php?fname=appuploadspotimage',function(r){
            console.log('upload success!');
            console.log(r.responseCode);
            console.log(r.response);
            console.log(r.bytesSent);
        },function(error){
            console.log('upload error')
            console.log(error.code);
        },options,true);
        console.log('after upload');



    },function(message){
       console.log('fail!');
       console.log(message);
    },{ 
        quality: 50,
        destinationType: navigator.camera.DestinationType.DATA_URL,
        sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
    });

serverURL est défini comme le domaine pour mon AJAX point de terminaison, qui a été dans la liste blanche dans cordova.xml.

J'ai vu un certain nombre de questions ici, dans ce sujet, ce qui les divergences d'opinions quant à savoir si chunkedMode doit être utilisé. Toute personne ayant ce problème?

Suis en train d'essayer cela sur un Samsung Galaxy S sous ICS.

Peut que la personne qui m'aide à résoudre ce problème mystérieusement hériter d'une bière à l'usine.

  • Pourriez-vous vérifier dans votre serveur ce post params est-il recevoir? J'ai eu un problème similaire, et a finalement découvert que ce qui se passait était que je n'étais pas à l'envoi de l'objet options correctement
  • Entendez-vous la vérification de la $_POST variable dans le serveur? J'ai essayé et j'obtiens un tableau vide. J'ai essayé d'utiliser $_REQUEST ainsi, juste pour vérifier, et seul le fname paramètre que j'ai fourni dans l'url est là. $_FILES tourne un tableau vide.
InformationsquelleAutor Ash Menon | 2012-08-01