起こったこと
LambdaでZipをつくって返却しようとしていたのだが、返却されたzipが解凍できなかった。
ハンドラーでやったこと
const buffer = zip.toBuffer(); return { statusCode: 200, headers: { "Content-Type": "application/zip", 'Content-Disposition': 'attachment; filename=diff.zip', }, body: buffer.toString("base64"), isBase64Encoded: true, };
bufferをbase64でエンコードして渡す + isBase64Encoded
をtrue
にする。
CDKでやったこと
const api = new aws_apigateway.RestApi(this, `${pjName}-apigateway`, { restApiName: `${pjName}-apigateway`, binaryMediaTypes: ["application/zip"] // ここ });