要解决AWS S3从Lambda上传返回空白PDF的问题,你可以尝试以下解决方法:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}
callback
函数并传递正确的参数。以下是一个示例Lambda函数,它将上传的文件保存到S3并返回成功的响应:const AWS = require('aws-sdk');
const s3 = new AWS.S3();
exports.handler = (event, context, callback) => {
const params = {
Bucket: 'your-bucket-name',
Key: 'your-file-name.pdf',
Body: event.body
};
s3.upload(params, (err, data) => {
if (err) {
console.log(err);
callback(err);
} else {
console.log('File uploaded successfully');
callback(null, {
statusCode: 200,
body: 'File uploaded successfully'
});
}
});
};
Body
参数。确保在Lambda函数中使用正确的方式读取文件数据。以下是一个示例,展示了如何将上传的文件数据从base64字符串转换为Buffer:const fileData = Buffer.from(event.body, 'base64');
这些解决方法应该能够帮助你解决AWS S3从Lambda上传返回空白PDF的问题。请根据你的具体情况进行适当的调整和修改。