API kullanarak Drive'dan bir ikili almakta sorun yaşıyorum, daireler çizmeye devam ediyorum. İşte node.js'yi kullanarak Google Drive'daki bir ikili dosyayı okuma
ilgili kod bitleri şunlardır:// Load client secrets from a local file.
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
// Authorize a client with the loaded credentials, then call the
// Drive API.
oauth.authorize(JSON.parse(content), dasm.init, driveapi.getFile)
});
driveapi.getFile:
function getFile(auth, cb) {
var service = google.drive('v3');
service.files.get({
auth: auth,
pageSize: 20,
fileId: "0B2h-dgPh8_5CZE9WZVM4a3BxV00",
alt: 'media'
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
cb(response)
});
}
Şimdi response
geri dize olarak geliyor gibi görünüyor. Hexe dönüştürmeye çalıştığımda, deliriyor. response
almak ve bir Buffer
içine almak için herhangi bir yolu var mı? Yoksa service.files.get
'dan aldığım seklinde bozuk mu?
fındık, ben demek
console.log(
arrData[0].charCodeAt(0).toString(2),
'-',
arrData[1].charCodeAt(0).toString(2),
'-',
arrData[2].charCodeAt(0).toString(2),
'-',
arrData[3].charCodeAt(0).toString(2),
'-',
arrData[4].charCodeAt(0).toString(2)
)
= 1001101 - 1.011.010-1111111111111101 - 0-11 doğru altıgen olacaktır
(kırık olduğunu görmek için denemek için ikili kullanıyorum) 4D 5A 90 00 03
Düzenleme: 90
değerin bir ASCII char eşleşmiyor görüntülenen alır o Unicode replacement character var fffd
haline nasıl oldu gibi, şaşkın olanlar için. Bir bayt dizisi senin aşağıda koduyla bir ByteArray dize dönüştürmek zorunda kalacak alamazsanız
Bu örnek sadece '' responseType = "arraybuffer" ayarlarken iş gibi görünüyor, ben görünmez bir şey Sürücü API ile yapabilmek için. Kod örneğiniz sıfır uzunluktaki genel bir nesneyi döndürür. – Drazisil