const selectImage = (e) => {
if (!e.target.files[0]) return;
setImgFile(URL.createObjectURL(e.target.files[0]));
};
<ImgWrapper
src={previewImg || imguuid || '/asset/else/userBlank.png'}
alt='프로필'
ref={imgRef}
onError={() => {
setImguuid(null);
}}
/>
react-aws-s3 모듈을 사용하였고, uploadFile, deleteFile 메소드를 사용하여 s3 버킷에 파일 post, delete를 기능을 구현하려고 한다.
post는 정상 동작되었지만, delete는 403에러가 뜨는 것이 확인되었다.
cors 정책에서 테스트로 사용하는 localhost:3000을 추가해주었고, allowedMethods에 delete도 들어가 있다.
문제는 정책생성에서 DeleteObject를 생성해주지 않아서였다. DeleteObject 옵션을 아래와 같이 추가해주었다.
=> s3 버킷 정책이란 사용자가 s3 버킷에 엑세스 할 수 있는 정책 옵션중 하나 이며 json 문법을 사용하여 버킷에 대한 엑세스를 제어 합니다.
성공적으로 삭제되었다.
현재 bucket policy에 DeleteObject를 추가해주었는데, bucket policy와 iam policy의 차이가 존재하는 것 같다. 이후 좀 더 공부해야 하는 내용이다.