2011-10-02 2 views
1

Je construis une extension Chrome dans laquelle je simule un POST de formulaire pour envoyer des images à un serveur. J'ai réussi à télécharger le fichier, mais son contenu est déformé. En comparant le tableau d'octets de l'uploadé et de l'original, on peut observer que chaque octet> 127 est transformé en 2 autres octets.Caractère redondant dans la charge utile POST

par exemple: 137 -> 194 137

233 -> 195 169 

La charge utile POST dans l'outil de développeur Chrome suggère que l'octet redondant est ajouté avant que la demande est envoyée.

Mon fichier d'origine Contenu:

‰PNG .... 

et le contenu enregistré dans la charge utile web

‰PNG .... 

char pas censé être là précède le contenu. Avez-vous une idée de comment éviter ce problème? Ci-dessous le code que j'utilise pour tester:

 var fr = new FileReader(); 
     fr.onloadend = function(evt){ 

      if(evt.target.readyState == FileReader.DONE){ 
            //str - image content 
       var str = ""; 
       var byteStr = ""; 
       var dv = new DataView(evt.target.result); 
       console.log("data length = " + evt.target.result.byteLength); 
       for(var i = 0 ; i < evt.target.result.byteLength; i++){ 
        var b1 = dv.getUint8(i); 
        str += String.fromCharCode(b1); 
        byteStr += b1 + " "; 

       } 

       console.log(str); 
       console.log(byteStr); 
           //use jQuery.ajax to post image to server 
       attachImage(str, file.name,file.type); 
      } 
     } 

     fr.readAsArrayBuffer(file); 

Merci d'avance.

+2

Semble comme encodage UTF-8. Pourriez-vous essayer de l'envoyer en base 64? – pimvdb

+0

vous voulez dire javascript utilisant UTF-16 tandis que la demande de poste est envoyé en utilisant UTF-8 provoque ce problème? J'ai essayé base64 et ça n'a pas marché. Et je n'ai pas non plus accès au serveur. – vuamitom

+0

Que voulez-vous dire base64 n'a pas fonctionné? Il suffit d'utiliser 'FileReader.readAsDataURL' pour obtenir la valeur base64, cela n'a jamais fonctionné pour moi. –

Répondre

Questions connexes