Мне удалось загрузить сгенерированный PDF-файл на s3 с моего узла JS-сервера. Pdf выглядит нормально в моей локальной папке, но когда я попытался получить доступ к нему с консоли AWS, он указывает «Не удалось загрузить документ PDF».Загрузка PDF в AWS S3 повреждена
Я попытался загрузить его через API s3.upload и s3.putObject, (для putObject я также использовал проверку .on finish, чтобы убедиться, что файл был полностью загружен перед отправкой запроса). Но файл в ведро S3 все тот же (маленький) размер, 26 байтов и не может быть загружен. Любая помощь очень ценится !!!
var pdfDoc = printer.createPdfKitDocument(inspectionReport);
var writeStream = fs.createWriteStream('pdfs/inspectionReport.pdf');
pdfDoc.pipe(writeStream);
pdfDoc.end();
writeStream.on('finish', function(){
const s3 = new aws.S3();
aws.config.loadFromPath('./modules/awsconfig.json');
var s3Params = {
Bucket: S3_BUCKET,
Key: 'insp_report_test.pdf',
Body: '/pdf/inspectionReport.pdf',
Expires: 60,
ContentType: 'application/pdf'
};
s3.putObject(s3Params, function(err,res){
if(err)
console.log(err);
else
console.log(res);
})
открыть файл в текстовом редакторе и посмотреть, что это сообщение - скорее всего, его сообщая об ошибке –
я беру его файл должен быть больше, чем 26 байт. Выполняет ли строка 'console.log (res);' в вашем коде и печатает что-нибудь? Похоже, ваше приложение выходит до завершения вызова 's3.putObject()'. –
'Body: '/ pdf/inspectReport.pdf',' Сколько байтов в строке * '/ pdf/inspectReport.pdf'? Похож 26. «Тело» ожидает * тело * - не путь. –