我正在尝试使用Nodejs从AWS S3中提取base64图像。 我在util.promisify中使用异步功能。该函数正确提取数据,然后“挂起”。
async function profile_image_base64(user_id, s3_status){
let profile_image = 'Not Loaded'
if (s3_status == 'No Image'){
profile_image = fs.readFileSync('path/to/blank/blank_profile.png', 'base64');
profile_image = 'data:image/png;base64,' + profile_image
}
if (s3_status='Uploaded'){
const util = require('util')
const request = require('request').defaults({ encoding: null });
const requestPromise = util.promisify(request);
await requestPromise(request.get('https://path.to.s3' + user_id, function (error, response, body) {
if (!error && response.statusCode == 200) {
profile_image = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
console.log(profile_image)
}
}));
}
return profile_image
}
Console.log显示预期的结果。但是函数不返回任何东西。 预先感谢您的指导。