javascript - .replace 不适用于不正确的 base64

标签 javascript google-api

我正在连接到 Google Insights API,并尝试提取图像。我无法显示它,经过一番研究后发现 Base64 图像的编码/符号错误。为了使图像正常工作,我需要将所有“_”替换为“/”,将所有“-”替换为“+”。

下面您可以看到我用来尝试此操作的代码片段:

.replace('_', '/').replace('-', '+');

为了方便起见,我将 API 的结果保存为变量,其代码(包括替换)为:

desktop['screenshot'] = screenshot.replace('_', '/').replace('-', '+');

但是我和一位同事找不到它不被替换的原因,经过 3 个小时的谷歌搜索,我来到了这里。

请您指出哪里出了问题/哪里出了问题?

最佳答案

.replace 方法默认替换第一次出现的匹配项 ( MDN )。但您需要替换所有出现的情况,请尝试以下操作:

desktop['screenshot'] = screenshot.replace(/_/g, '/').replace(/\-/g, '+');

关于javascript - .replace 不适用于不正确的 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32519893/

相关文章:

oauth-2.0 - 使用 Google+ 登录时从我的网页显示 Android 应用程序安装的选项

javascript - 高效访问Array.prototype.filter单项返回

javascript - jquery 向下滑动效果 - 不移动内部内容

javascript - 对象构造函数和 TypeError 中的递归函数

javascript - 如何在Angular Reactive表单中以动态方式根据条件显示/隐藏字段

google-maps - 在不同的域中使用谷歌地图 API

javascript - 如何使固定元素在滚动时隐藏,然后在用户不滚动时出现

php - 将事件页面与谷歌日历同步

Android Google Maps Api V2 崩溃

.net - 使用 Google 帐户通过非 Google API 验证 Chrome 扩展