标签: node-github

使用GitHub API下载文件时解码base64

我正在使用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正在向我发送正确的数据,所以我认为这不是问题.

我是不正确地执行解码还是我忽略了另一个问题?

任何帮助表示赞赏.

base64 github-api node-github

2
推荐指数
2
解决办法
2337
查看次数

标签 统计

base64 ×1

github-api ×1

node-github ×1