[typescript] 타입스크립트에서 AWS S3와의 파일 업로드 및 다운로드 구현
AWS S3는 클라우드 스토리지 서비스로, 파일을 안전하게 저장하고 필요할 때 다운로드할 수 있는 기능을 제공합니다. 타입스크립트를 사용하여 AWS S3와 상호작용하여 파일을 업로드하고 다운로드하는 방법에 대해 알아보겠습니다.
1. AWS SDK 설치
먼저 AWS SDK를 설치해야 합니다. 다음 명령을 사용하여 aws-sdk
패키지를 설치합니다.
npm install aws-sdk
2. AWS S3 설정
AWS 콘솔에서 S3 버킷을 생성하고 액세스 키 및 시크릿 키를 가져옵니다.
3. 파일 업로드 구현
import AWS from 'aws-sdk';
import fs from 'fs';
AWS.config.update({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
region: 'YOUR_REGION'
});
const s3 = new AWS.S3();
const uploadFile = (fileName: string) => {
const fileContent = fs.readFileSync(fileName);
const params = {
Bucket: 'YOUR_BUCKET_NAME',
Key: 'example.jpg',
Body: fileContent
};
s3.upload(params, (err: Error, data: AWS.S3.ManagedUpload.SendData) => {
if (err) {
console.log(err);
} else {
console.log(`File uploaded successfully. ETag: ${data.ETag}`);
}
});
};
uploadFile('path_to_file/example.jpg');
위 코드에서 uploadFile
함수는 지정된 파일을 AWS S3로 업로드합니다. 파일의 경로와 S3 버킷의 이름 및 키를 설정하여 업로드할 수 있습니다.
4. 파일 다운로드 구현
const downloadFile = (fileName: string) => {
const params = {
Bucket: 'YOUR_BUCKET_NAME',
Key: 'example.jpg'
};
s3.getObject(params, (err: Error, data: AWS.S3.GetObjectOutput) => {
if (err) {
console.log(err);
} else {
fs.writeFileSync(fileName, data.Body);
console.log('File downloaded successfully');
}
});
};
downloadFile('path_to_save_file/example.jpg');
downloadFile
함수는 지정된 파일을 AWS S3에서 다운로드하여 로컬에 저장합니다. S3 버킷의 이름과 키를 설정하여 다운로드할 수 있습니다.
AWS S3와의 파일 업로드 및 다운로드를 위한 타입스크립트 코드를 통해 안전하고 효율적으로 파일을 관리할 수 있습니다.
이제 여러분의 AWS S3와 타입스크립트 애플리케이션에서 파일을 업로드하고 다운로드하는 데 도움이 되길 바랍니다.