Я изо всех сил пытаюсь заставить мой API загрузки работать как ожидалось.Я использую NodeJS и могу перечислять и загружать файлы в папки, созданные с помощью моего API.
Моя цель - получить двоичные данные с google-диска для файла и передать их клиенту [PostMan прямо сейчас].Я видел пример в Google API для загрузки файла.Но это загрузка на NodeServer.Я пытаюсь пропустить эту часть и передать двоичные данные непосредственно почтальону.
Ниже приведен код, пожалуйста, исправьте мои ошибки, если кто-нибудь может.Нет ошибок, и блок «Done» никогда не вызывается по какой-либо причине.Я получаю «Я сделал», хотя.Любая помощь приветствуется.
exports.downloadreport = (req, res) => {
try {
const fileId = '15eesPXvF_DdBJEs1OvbZVrcNvD7y5aic';
// let dest = fs.createWriteStream('/EditBudgetManager.cs');
const buffers = [];
drive.files.get({
auth: req.googledriveAuth,
fileId,
alt: 'media',
}, {
responseType: 'stream',
}, (err, response) => {
// logger.info(response);
if (err) { logger.error(err); }
response.data.on('error', (err1) => {
console.log(err1);
}).on('end', () => {
console.log('I am done');
res.end(Buffer.concat(buffers));
}).on('data', (chunk) => {
// This block is not getting called
buffers.push(chunk);
});
});
} catch (error) {
res.status(500).header('success', false).json({ message: 'Error while downloading report', errorcode: 'HRSMEH012' });
}