why this code is not working for file download through api gateway in pdf format....could you please answer this

0

try { const headObject = await s3.headObject(params).promise(); const fileSize = headObject.ContentLength;

const readStream = await s3.getObject(params).promise()//.createReadStream(); console.log(readStream) //const fileContent = readStream.Body.toString('utf-8');

// Set headers for the response const headers = { //'Content-Length': fileContent, 'Content-Type': 'application/pdf', //'Content-Disposition': attachment; filename=${key}, 'Accept': 'application/pdf' //'application/octet-stream' }; const imageBuffer = Buffer.from(readStream.Body); const imageBase64 = await base64.fromByteArray(imageBuffer).toString('utf-8'); console.log(imageBase64)

const response={ statusCode: 200, headers, body: imageBase64//readStream//.toString("base64"), //isBase64Encoded: true, }; //const str = await response.body.transformToString(); //console.log(response) return response // Pipe the S3 object stream to the response //readStream.pipe(callback.response); } catch (error) { console.error(error); // callback(error); }

}; exports.handler=handle

1 個回答
1

What errors are you getting? Did you take in count the limitations of payload size for Lambdas and API Gateway?

已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南