使用API​​网关和Lamda从S3服务PDF文件

我有nodejs lamda函数读取从s3桶s3文件,并由api网关使用Lamda代理服务

function readS3(bucket,objectName){ return new Promise((resolve, reject) => { AWS.S3.getObject({ Bucket: bucket, Key: objectName }, function (err, data) { if (err) { console.log('cannot read s3'); console.log(err, err.stack); reject(err); } else { resolve(data); } }); }); } readS3(bucket,objName).then((data)=>{ let response = { statusCode:200, headers: { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Credentials": true, "Content-Type": 'application/pdf', "Content-Disposition": 'filename=test.pdf' }, body: data.Body.toString('utf-8') }; callback(null,response); }) 

代码工作正常,除了下载的PDF文件没有图像和一些自定义格式。 表格和粗体等基本格式都很好。 在S3存储桶的PDF是好的,当我直接从S3下载,没有任何问题。 我在.toString方法中尝试了不同的编码,但没有任何作用。 这是因为我从s3阅读内容的方式,或者它是api网关的问题?