base64 image 형식은 다음과 같다.
data:image/png;base64,iVBORw0KGgoAAAAN...(여기에 버퍼 데이터)...
이미지 형식을 파일이 아니라 base64로 받으면 다음 형식을 따르게 되는데, 이 상태로 putObject를 하면 이미지 변환에 실패한다
(실제 s3에 올리니 이렇게 올라갔다)
그래서 앞의 헤더? 부분을 제거할 필요가 있으므로, slice로 다음 내용을 지워주면 될 것 같다.
await this.s3Uploader
.putObject({
Bucket: this.configService.get('AWS_BUCKET_NAME'),
Key: (디렉토리),
Body: Buffer.from(
brandData.brandImage.replace(/^data:image\/\w+;base64,/, ''),
'base64',
),
ContentEncoding: 'base64',
ContentType: imageType,
ACL: 'public-read',
})
.promise();
'DEVELOPMENT > NODEJS' 카테고리의 다른 글
TypeORM where (in 0.3.x) (2) | 2022.09.25 |
---|---|
NestJS :: param과 URI의 우선순위 문제 (0) | 2022.04.19 |
cookie 데코레이터에서 JWT payload 추출하기 (0) | 2022.04.15 |
cookie 데코레이터에서 JWT payload 추출하기 (0) | 2022.04.08 |
pm2 package.json 명령어 실행하기 (0) | 2022.03.30 |