Преобразовать URL Base64 в кодированный формат Base64 в WSO2 EI 6.3.0 - PullRequest
0 голосов
/ 09 октября 2019

Я получаю вложение электронной почты (изображения) от Gmail API , которое возвращает base64url закодированную строку . Но фактическое кодирование отличается от этого API gmail («/» заменяется на «_», а «+» заменяется на «-» и т. Д.). Я хочу получить исходную строку в кодировке base64 вместо формата кодировки url base64. Должен ли я заменить эти два символа ("/", "+") из ответа gmail api или кто-нибудь может помочь мне в этом? я пытаюсь это с помощью WSO2 EI 6.3.0.

 <call>
                    <endpoint>
                        <http method="get" uri-template="{+uri.var.gmail.apiUrl}/{+uri.var.gmail.apiVersion}/users/{+uri.var.gmail.userId}/messages/{+uri.var.id}/attachments/{+uri.var.attachmentId}"/>
                    </endpoint>
                </call>
 <property description="emailAttachment" expression="//data/text()" name="emailAttachment" scope="default" type="STRING"/>

, например,

из Gmail API: после этого вызова он возвращает следующее значение в «данных"ключ

_9j_4AAQSkZJRgABAQAASABIAAD_4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAAqACAAQAAAABAAAPwKADAAQAAAABAAAL0AAAAAD _....

Исходное значение Base64 закодированные:.

/ 9J / 4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAGESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAAACACAAQAAAABAAAPwKADAAQAAAABAAAL0AAAAAD * .......1023 *

1 Ответ

0 голосов
/ 09 октября 2019

В Javascript проще всего использовать метод replace () :

newData=data.replace(/-/g, '+').replace(/_/g, '/')

...