Мне нужно использовать другой ws rest POST, в мою Lambda, этой службе нужен pdf на base64, когда я восстанавливаю этот файл как Buffer из S3 bucket, я транслирую в base64, но, очевидно, это усеченный и ws return:
Данные документа не могут быть пустыми или поврежденными
Как я могу решить это?
function readFile(bucketName, filename, onFileContent, onError, callback, event){var params = { Bucket: bucketName, Key: filename };s3.getObject(params, function (err, data) {
if (!err) {
var username = "xxxxxxxxx";
var password = "xxxxxxx";
let auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
let body1 = {};
// event.test has json need ws service
// here translate buffer form s3 to base64 and put in my json from ws
event.Document = JSON.stringify(Buffer.from(data.Body.toString()).toString('base64'));
var optionspost = {
host: 'app.ecertia.com',
path: '/api/json/reply/EviSignSubmit',
method: 'POST',
json: true,
headers: {
'Content-Type': 'application/json',
'Authorization': auth
}
};
var reqPost = https.request(optionspost, function (res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
body1 += chunk;
});
});
reqPost.on('error', (e) => {
console.log("el error.......", e.message);
});
var jsonFormat = JSON.stringify(event.test);
reqPost.write(jsonFormat);
reqPost.end();
}
else {
console.log(err);
}
});
}