Мне интересно, есть ли простой способ определить длину readStream в узле js. Я пишу работника для загрузки PDF-файлов на S3, и он вызывает ошибку: «Невозможно определить длину [object PDFDocument]». PDF является читаемым потоком (я могу передать его в файл в памяти в настоящее время и просматривать сгенерированный PDF).Определение длины прочитанного потока в узле js
Некоторые вещи, о которых я думал: 1. Трубопровод всего pdf в память (например, в буфер), а затем вызывается fstat в этом буфере для определения размера.
- Создание некоторого метода, который динамически нашел размер, когда я передавал PDF через него.
Или есть более простой способ? Открытые для всех предложений, спасибо заранее!
Вот зов к S3. Поток для чтения PDF называется документ:
return Q.ninvoke(s3, 'putObject', {Bucket: 'REDACTED', Key: obfuscatedFN, Body: doc, ContentType: 'application/pdf'})
.then(function() {
console.log("Successfully uploaded data to myBucket/myKey");
return Q(true);
})
.fail(function(err) {
console.log(err);
})