我正在使用GitHub API從GitHub下載文件。我已經能夠成功進行身份驗證以及從github獲得響應,並且看到代表文件內容的base64編碼的字符串。使用GitHub API解碼base64以下載文件
不幸的是,當解碼base64字符串時,我得到一個不尋常的錯誤(字符串長度不是4的倍數)。
HTTP請求如下所示:
GET /repos/:owner/:repo/contents/:path
如下所示的(部分)反應:
{
"name":....,
"download_url":...",
"type":"file",
"content":"ewogICAgInN3YWdnZXIiOiAiM...
}
我遇到的問題是,該字符串的長度是15263個字節,並且在解碼字符串時出現錯誤(字符串長度不是4的倍數)。我使用node.js和'base64-js'npm模塊來解碼字符串。執行解碼代碼如下所示:
var base64 = require('base64-js');
var contents = base64.toByteArray(fileContent);
解碼導致異常:
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)
:
:
我認爲GitHub的API是給我正確的數據,所以我估計是不問題。
我是不是正在進行解碼還是出現了另一個我忽略的問題?
任何幫助表示讚賞。
增加頭部是更好的選擇。 –