3

J'ai implémenté la fonctionnalité de téléchargement d'images dans Phonegap. Mon code côté serveur est déjà prêt. Ive installé plugins File et FileTransfer mais quand j'essaye de télécharger une image sur mon serveur, le code échoue toujours et ira toujours à la fonction fail(). Je ne peux pas déterminer quelle est l'erreur puisque error.code, error.source, error.target est toujours nul. Pourquoi suis-je obtenir null sur error.code? Je ne peux pas déterminer ce qui est mal ici, donc j'ai vraiment besoin de votre aide.Phonegap Le code d'erreur FileTransfer renvoie la valeur null

Ceci est mon code:

  var pictureSource = navigator.camera.PictureSourceType; 
      var destinationType = navigator.camera.DestinationType; 

        function clearCache() { 
         navigator.camera.cleanup(); 
        } 

        var retries = 0; 
        function onCapturePhoto(fileURI) { 
         var win = function (r) { 
          clearCache(); 
          retries = 0; 
          alert('Done!'); 
          console.log(r); 
         } 

         var fail = function (error) { 
          alert("An error has occurred: Code = " + error.code); 
          console.log("upload error source " + error.source); 
          console.log("upload error target " + error.target); 
          if (retries == 0) { 
           retries ++ 
           setTimeout(function() { 
            onCapturePhoto(fileURI) 
           }, 1000) 
          } else { 
           retries = 0; 
           clearCache(); 
           alert('Ups. Something wrong happened!'); 
          } 
         } 

         var options = new FileUploadOptions(); 
         options.fileKey = "profilepic"; 
         options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); 
         options.mimeType = "image/jpeg"; 
         options.chunkedMode = false; 
         options.params = {atoken : app.atoken, user_id : window.localStorage.getItem("user_id")}; // if we need to send parameters to the server request 
         var ft = new FileTransfer(); 
         //alert(app.base_url + "/apiuser/updatePic"); 
         ft.upload(fileURI, encodeURI(app.base_url + "/apiuser/updatePic"), win, fail, options); 
        } 

        function capturePhoto() { 
         navigator.camera.getPicture(onCapturePhoto, onFail, { 
          quality: 100, 
          sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY, 
          destinationType: destinationType.FILE_URI 
         }); 
        } 

        function onFail(message) { 
         alert('Failed because: ' + message); 
        } 

        capturePhoto(); 

Répondre

2

fixe dans config.xml

je

<gap:plugin name="org.apache.cordova.file"/> 
<gap:plugin name="org.apache.cordova.file-transfer"/> 

au lieu de

<feature name="File"> 
    <param name="android-package" value="org.apache.cordova.FileUtils" /> 
</feature> 
<feature name="FileTransfer"> 
    <param name="android-package" value="org.apache.cordova.FileTransfer" /> 
</feature> 

Im en utilisant PhoneGap 3.4.0 pour Android

Questions connexes