base64 - 在 WSO2 EI 6.3.0 中将 Base64 URL 转换为 Base64 编码格式
问题描述
我从返回base64url 编码字符串的Gmail API获取电子邮件附件(图片) 。但实际编码与此 gmail api 不同(“/”替换为“_”,“+”替换为“-”等)。我想获取原始的 base64 编码字符串而不是 base64 url 编码格式。我应该从 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: 调用后,它在“data”键中返回以下值。
_9j_4AAQSkZJRgABAQAASABIAAD_4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAAAAIdpAAQAAAABAAAAJgAAAAAAAqACAAQAAAABAAAPwKADAAQAAAABAAAL0AAAAAD_....
原始 Base64 编码值:
/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAAqACAAQAAAABAAAPwKADAAQAAAABAAAL0AAAAAD/....
解决方案
在 Javascript 中,最简单的方法是使用replace()方法:
newData=data.replace(/-/g, '+').replace(/_/g, '/')
推荐阅读
- icons - 如何在 kml 中引用本地自定义图标?
- php - 安装了 php-xml 扩展的 Wordpress XML-RPC POST 返回 32700 错误
- unix-timestamp - 在 Conky 中,如何将 Unix 时间转换为小时和分钟?(时:分)
- c++ - 无法异步启动带有对象参数的函数
- python - 如何使用 Python 在该文件中复制 JSON 文件的一部分?
- java - 读取“dictionary.txt”的内容并将所有四个字母单词添加到 ADT ArrayList
单词 = 新的 ArrayList<>(); - java - Java LinkedList 在其源代码中有空的构造函数
- kubernetes - 我在 kubernetes pod 上看不到 sysout 日志
- c# - 如何同时使用 NAudio 生成信号和录音?
- p5.js - 如何在 p5.js 中使用相机跟踪球体?