[AJAX] avoir le base64 du body d'une requête
Bonjour,
je récupère une image (image/gif) via un XMLHttpRequest car je dois fournir des headers particuliers pour ne pas avoir une erreur 403.
ce que je fait:
[code]body_content = new Image ();
body_content.src = 'data:' + this._headers['Content-Type'] + ';base64,' + Base64.encode (this.responseText);[code]
et ensuite j'insère l'image dans la page.
malheureusement, cela ne fonctionne pas, le résultat du Base64.encode (this.responseText) est:
Code:
R0lGODdhKwAZAO+/vQAABAIE77+977+977+977+977+977+9REZE77+977+977+977+977+977+9bG5sXFpc77+977+977+977+977+977+9AAAAAAAAAAAAAAAAAAAAAAAALAAAAAArABkAAATvv70Q77+9Se+/ve+/vRjvv73vv707B14oJmAo77+9Xu+/ve+/vWp377+9JMyy77+9LO+/vTRc77+9ce+/ve+/vTfvv71H77+9Ie+/ve+/vS/vv73vv70XKu+/ve+/vUtbZ++/ve+/vU3vv71Q77+9EVAL2pAX77+9DSdd77+977+9aBwIcA7vv71qKlEIDA4E77+9N++/vSUcDgh8IHt8B3xqZ1gGbgUHeu+/vQQJfu+/vRtwCQHvv73vv71FNSVgTgkI77+977+9G2Pvv70EbgdO77+9ZypgHHvvv71aAu+/vVpgAu+/vXRmLe+/vQPvv73vv73vv73vv73vv71/77+977+977+9JCo1bXQG77+977+9AO+/vRt577+9Ke+/vSF2eO+/vVrvv718HQgGPlFcIgUG77+9JiDvv704Il5uSu+/vVdo77+977+9c++/ve+/vRnvv73vv73vv70AEQA7
alors que je devrai avoir:
Code:
R0lGODdhMAAZAOMAAAQCBISChMTCxERGRJyanNza3GxubFxaXKyurOzu7AAAAAAAAAAAAAAAAAAAAAAAACwAAAAAMAAZAAAE+BDISau9ONPEu+/AJ45JSILmyaWqyJJSW8rjC9suncuxivO6Hkz3+dWMMyKIKNwpk0GjsXBCun7TwVDZ5AgAgQGhEPgItE6m7UvgGMKHdmJATxAOA0MBcL5HXQNUBYEJBQZtZ4WEASFnBgkHZRxkA3EeXSVog2gCBwmJg2MzZ4KHbmWGchNFiYqbda0CBgMACJ9oCQieg1S5niVNjbhvHVSgAiV+pF5agx2JIcG3xZIBj86DX7q3ktu8HNvRKUZ0ehx4BQQAech9B6mnhYcmQlZbzOdyhXDqKCtP/zy08uHPXg0RA+8Bg8IFIMNVAA2mAaahosWLACIAADs=
j'ai obtenu le second résultat en utilisant base64_encode du côté serveur, si je met cette valeur en dur dans le code javascript l'image s'affiche correctement.
je pensai que l'erreur été due à l'encodage alors j'ai essayé diverse variation avec Utf8.encode/decode sans succés.
es-ce que quelqu'un a déjà été confronté à ce problème?
et a trouvé une solution?