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 Answer
1

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

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions