我正在使用GitHub API从GitHub下载文件.我已经能够成功进行身份验证以及从github获取响应,并查看表示文件内容的base64编码字符串.
不幸的是,当解码base64字符串时,我得到一个不寻常的错误(字符串长度不是4的倍数).
HTTP请求如下所示:
GET /repos/:owner/:repo/contents/:path
Run Code Online (Sandbox Code Playgroud)
(部分)响应如下所示:
{
"name":....,
"download_url":...",
"type":"file",
"content":"ewogICAgInN3YWdnZXIiOiAiM...
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是字符串的长度是15263字节,我在解码字符串时遇到错误(字符串长度不是4的倍数).我正在使用node.js和'base64-js'npm模块来解码字符串.执行解码的代码如下所示:
var base64 = require('base64-js');
var contents = base64.toByteArray(fileContent);
Run Code Online (Sandbox Code Playgroud)
解码会导致异常:
Error: Invalid string. Length must be a multiple of 4
at placeHoldersCount (.../node_modules/base64-js/index.js:23:11)
at Object.toByteArray (...node_modules/base64-js/index.js:42:18)
:
:
Run Code Online (Sandbox Code Playgroud)
我认为GitHub API正在向我发送正确的数据,所以我认为这不是问题.
我是不正确地执行解码还是我忽略了另一个问题?
任何帮助表示赞赏.