Мне удалось загрузить сгенерированный PDF-файл на s3 с моего узла JS-сервера. Pdf выглядит нормально в моей локальной папке, но когда я попытался получить к нему доступ из консоли AWS, он показывает «Не удалось загрузить PDF-документ».
Я попытался загрузить его через 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);
})
console.log(res);
в вашем коде выполняет и печатает что-нибудь? Похоже, ваше приложение закрывается до завершения вызоваs3.putObject()
. - person Mark B   schedule 25.07.2016Body: '/pdf/inspectionReport.pdf',
Сколько байтов в строке/pdf/inspectionReport.pdf
? Похоже на 26.Body
ожидает body, а не путь. - person Michael - sqlbot   schedule 26.07.2016