본문 바로가기
반응형

S3 파일 업로드에 대해 궁금하시다면 아래 포스트를 찾아주세요.

2023.10.26 - [코딩/React] - React AWS S3 파일 업로드 및 연동

 

React AWS S3 파일 업로드 및 연동

Amazon S3 (Amazon Simple Storage Service)란 Amazon Web Services (AWS)의 클라우드 기반 스토리지 서비스로, 사진, 영상과 같은 데이터를 저장하고, 해당 데이터에 대해 url로 제공해주어 프론트엔드에서 사용할

quddkflty.tistory.com

 

S3 삭제 기능 

S3에서 원하는 파일에 대해 삭제해야할 경우 아래와 같은 코드를 쓸 수 있다.

파일의 위치를 알 수 있는 Key를 파라미터로 받아 관리한다.

const deleteS3File = async (fileKey) => {
  const s3 = new AWS.S3();
  const params = {
    Bucket: process.env.REACT_APP_S3_BUCKET,
    Key: fileKey, // 삭제할 파일의 고유 키
  };

  try {
    // 파일 삭제 함수를 호출하여 S3에서 파일을 삭제할 수 있습니다.
    await s3.deleteObject(params).promise();
    alert("파일이 삭제되었습니다.");
  } catch (error) {
    console.error("파일 삭제 중 오류 발생:", error);
  }
};

 

S3 업데이트 기능 

S3에서 원하는 파일에 대해 수정해야할 경우 아래와 같은 코드를 쓸 수 있다.

파일의 내용을 주어 s3에 있는 파일을 덮어 씌워 저장할 수 있다.

const updateS3File = async (selectedFile) => {
  const s3 = new AWS.S3();
  const file = selectedFile;

  const params = {
    Bucket: process.env.REACT_APP_S3_BUCKET,
    Key: "upload/" + `${Date.now()}_${file.name}`,
    Body: file,
  };

  try {
    // 파일 업로드 함수를 호출하여 기존 파일을 덮어쓸 수 있습니다.
    const { Location } = await s3.upload(params).promise();
    setImageView(Location);
    alert("파일이 업데이트되었습니다.");
  } catch (error) {
    console.error("파일 업데이트 중 오류 발생:", error);
  }
};
반응형