我正在使用此功能将原始图像转换为base64但无法生成图像。
以下是plunker:https://plnkr.co/edit/pn9xNwgR3p1RDqZhVNne?p=preview
<body>
<img src="" id="myimage" />
<script src="script.js"></script>
<script src="jpegEncoder.js"></script>
<script>
var rawImage = "����JFIF��� 		��``"����?	!1AQaq2B���"#RT����br��3����������0	!1A2Qaq�"��BRS�����?���Kѐ�V��,���fu0�AկQ�w���y�x��i�|��F?���;҆�X����������(+:s��iud���c�Gf�e7�jI�;N�d�%�f����+�Uh4q;Ĭ!9ȨD��[��5�ކ�;h��gCt�͌��و1J��q�a��S��^�V���R�����U��K6�<��"�U��~"u�|Q ��c�F�IoZЩX���4����\��]Kp�3K'�(#�G�ր^�d���f�FU=#C\@9�Q��g�ݠ�8Ϧ����m���fq$�jMq;���LW����+� ڵ��G���;}�ђ��<���sX���>j���hk���~+�^����3�q4��P؝�oZ������4��P{O-j�]�d�c��pG��<7��Q������zd{n��|�`�mɊ��SN�D����}�Hv��0PY�<\�#�T�k!0�R(�Um�n��e�>�a욶˽�8P����{�)���"����;#~,<+��iA����!�nխ]f�We��q�� �4��}����6�`���T��!wY�� ��4�y�����+�A]U�M�ֻ⼪�d�N��EcQ`a�u�R��Z"�e/���;-�vL�<c���IH"W2Ga���Ӄ⬨�cݻ#q��c�Y䣃F�G�$�0:�z�"	1���S�R�WCh��a���@%#��$�i�y�u��[�6Ή����(c�Sw˻�G��X3����R��n'�m+>����'�/;�%�k�4��Z�/l^�z�/l^�z��Z�}k^��!������O����������Dzx�"��>��û#>�#\~{�L-D�k��T�L��O=�I��\Qy$�1�'<��=�����uR�b� ���({�TAr9����g}��y�{Լ�.�у�8���^��6��"9+��k��K�V�6�����p�¦�Y�~%b�F�lX����_���v����_�O����A�+�G��e]Q*���z��G|�Y{��f��Y�CI�qu*p�v�T�Z�%0�J4�l�3�ɖ�yF���"�5�\�@ܧ��� *R�Kx��c��Is�D�Y�-���O$��!�`��4M���VX�@v�g��U�̦��2E�W��s�7=}z#��Ԯ� c���t^��n|R2H�� |�����w�k�9��ٵ�o1�U��nC�r@���7���wZ��-�!n����v�p���P�h_dR�����O5�ޟ���<U���� �*"̙����7-rr�{��<��3��#O�S;:/~�"f~Ϋ;IǸ,�V�[Kv�\���c���d4`6��ѣ��Õ]<ϚN��<��r/Fug<֧���ӢуZ�>z�Cܟ{'c��ˏO��jB��o �����c5�:�6:H�Ώ�c�S<�}{���,���o�_8תޫ|{Qm~�kU w��Zi����5B��vƮ�Y�5�Hǽ��U6�^�VKd)��FZ��ʗ���ݹ�E�]tV�� "�� y���a�%���h�����=v�&5� �ג3䒮i�Wq�#�$J �ǖ+��`4" U_c+�T	D����JY!Mhv�1�N Q���ǘH��e�#�!��/X��GO��iC�8>ȅ:���`$���H��m !� ��H�Op��)�&Q���P۷��'�;S�������";
var encoder = new JPEGEncoder(9);
var jpgFile = encoder.encode(rawImage, 9);
console.log('jpgFile: ', jpgFile);
document.getElementById("myimage").src =jpgFile;
</script>
</body>
我得到了这个输出:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAFk9Q05DOFlOSE5kXllp…rCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP8A/9k=
我在ajax调用google contacts api
时收到的原始图像数据与编码有关吗?
更新
<img src="https://www.google.com/m8/feeds/photos/media/kookootalk%40gmail.com/3e98af288ff825f7?access_token=ya29.CjDJA08-At3FiI0G1yXER2a-bWpScqI9vcopzjSjXe62CnvlrFMMq0noIghnPdxd1Yk" />
我正确地获得了图像,如果我检查网络,我会发现原始图像数据为响应:
`ÿØÿàJFIFÿÛ
ÿÀ``“ÿÄÿÄB!1”AQaq¡2BRb±3Sr¢£Á$csÂÃÒÿÄÿÄ2!1AQaq×Ñð2R±“#BbáÿÚ?¹p¡iÖ?&amp;Í)§Mjü%Ç%QÅ/±7 ¤øéUø:à“hATj9FuÅ(hlçhsìl¥½(¹'¢}êôO} A÷#±ßª\ôI%%È{〜Óè}üªÕÂÍ[Órl|3âaaçAb')
)PÀÓl'«3AF”
ZAE nÒõÝí³Ëâ$¡“Ĵ(μÅÈößy
¥¯Ú?XîJKéÛÓ)÷H}üW+hº×¸úúýAç®ÊFçS4jõ»ÇTp~¢2?ÛnùS|êcTÈéð5¸Æ$Ä»R5Ñjß'ï\ ^}ÓBçE“xÛ9Ñrpi%øW(i1 - |Bh4í“Z®+Ùó
±d%lçENÂLó{OY(jÞb#ºF]安培;¬Ú±§Ä3Sâ:ãDèÏBÎAOK¥$ D |½èÆ01>MQx7Ìc¡5Qàÿ1¼Ghº³ÀÓNÊ5Ù¬s±$È@¸r£Ú^4Íj1 ¥ª8 b8""¸®¡Hâç0_Ùc$T¼jnÝ95QÈPA-ñêÀöcTÝ'i°ÐÀìWo@]±é^Ý8×v[ KÙ(Q¿y|÷Ä6r9×qÙ¦§^5¸´Ù{Yجr:¼É®xrSQ}'cïÆäL ÐðÇõPZçïW M÷«[ëÂñì©Ê ÄIJõ¹gÙ_äOd¶6z6оÎZ_p+{¼ÄHÐúIA¾5Ð1t¯®XzÒúOaßå¯6¯LÙ¬æâ&ãºn®%K¨´ºHÄ@ Ã#õÏÎ< @jA
ó¼ÒrLÈYZÍ iÀPF£"pRÙ¾3°²ÚMðû²æ>&¤}Â} ÙδµcxA PF
ëåÂÞÔæKnã¾)●
我£®ÑB[d
?Óöq¬eØG8äáþÙ¥³IsdFEK«yÓÂG%éඳoÎtæ·焦耳/ÇJspïªSnÎ^ MU =ùy4Ú= EY:Y°,ÉmÁ¸Ío5ÚR{»i¹WfÍ^ +6bÕvÊ9" [¶] E [çQf0½E[ ÷ÇtDa¡®nÙiåI $ Y×|
Óh¹Öaé©ã$¾âÍv¾éL6KâÉ&GT;?!®OA4îÐ)IA÷Xñ3¾Ð±ºY“E +¶½½û5úÊ¡´ÍDf&ÕfÖfû¢o¶=$ºzJÞUƵ" à-l 3fpä=©¶{Æðjlëax+fãÆ1àRp¤3$ä;ÎI4pbIäÄ¡]ê?EýîÕDÅôG »Aö}£\ÁÄÒF7P+YÏpã_E¹ÕNÍæ¦Ö«7Eg'"/ûh>4¥'né´ St
:ÇyG0JÒ;p[Ù³ÃýÆÖ:éM(ÙaZº}F¸qÕy7¦¯»V=Ùy
2 ^ UCY Z)〕ý¥uh¼¤μ(TH»2räo|NÀìxE〜¬]ËeYYVYH¨* ääFSv§©bS!É2ãUâ}'È×1Fâ@ t&lt;åI]%·¯dv÷ùùEkÆ°õS©¢mÓdÜ'îà9ôoBPõb½U5ö¥¢çc&gt;Ì׿ÄwwÊÀÞü£¹1á1¹·Üo4%ó*25qÆ6hɶ{3&gt ?; A©rÄÕ¼&GT; SZ·¬'¤D²YØ2ÉJÜiù˾Ç_Úc@£0E ^c¬'w¨9³Áıº¥¡Ï%$®7Fó{NØ»óÅ«AÀPpþ^Ä}@¯Ô¬¹o«¾&MÙýw²mÃÔÓ¨ì(ðWSN1-Ô«¹¾_d{ÍOe!Aèã5©êHÿÄu!( KJyÑRúã!}O¥ºÊt)çYhÖ½_iÒfänæV2Uî5ï
U_Z´¨b
Tm£ìþÑbbXNäåbpYÔ|;§Ì1xRV©ÀAÌp ò0(×-Ù¦öw6w8Ü¥ùêJN[t{1lýµJ¸èÂÁ+àvò>þu]#E¡à§vG¤¥e$MÔVürgpS&¤[fNI-f´ËÔgyUsf¼RíBA\ZG_í¤©[ª¾d®6[ ¶|*Øf®Tµ±Ç4ô3þ°Ìæ ·H×£4YEYi)Â"PðU®|Ï|:Y´æõnn@òo ¨t\Cdîõ´Åju#3ÚwÓq1Ý¡ôSÍ8
[êòyýªè1s| OE&LT; 1-ÞiÕRÀÂËÂZ'AEAÉ/'zjòUØaªÏiÑÖ%E
¢x²xÎ:阿布$%#($MÿÙ`
但问题是url里面的令牌有到期时间,最终链接会过期。
我不明白我收到的两个图像数据之间的差异,其中一个不起作用
答案 0 :(得分:0)
Contacts API是一种安全的同步API,并不意味着以与图像主机相同的方式使用。当您的OAuth会话处于活动状态时,预期的使用模式是数据被下载并可能以某种方式存储。对于JavaScript中可能是画布的图像,或者data URI中src值为base64编码的img标记。
我不确定你是如何在JS片段中获取第一张图片的,但是我可以清楚地看到字符串中的HTML实体,所以在某些时候,数据在被视为格式化文本时被破坏了。