반업주부의 일상 배움사
[Golang] 파일 업로드 > S3 본문
반응형
1. 패키지 다운로드
$ go get github.com/aws/aws-sdk-go-v2/aws
$ go get github.com/aws/aws-sdk-go-v2/config
2. 주요 코드
// 업로드된 파일 정보
imageFile, imageFileHeader, _ := c.Request.FormFile("imageFile")
// 바이트 버퍼로 변환
buf := make([]byte, imageFileHeader.Size)
imageFile.Read(buf)
// AWS 세션 생성
session, err := session.NewSession(&aws.Config{
Region: aws.String("ap-northeast-2"),
Credentials: credentials.NewStaticCredentials(
"AWS_ACCESS_KEY",
"AWS_SECRET_ACCESS_KEY",
"",
),
})
if err != nil {
log.Fatal(err)
}
// S3에 업로드
res, err := s3.New(session).PutObject(&s3.PutObjectInput{
Bucket: aws.String("banjubu"),
Key: aws.String(imageFileHeader.Filename),
ACL: aws.String("private"),
Body: bytes.NewReader(buf),
ContentType: aws.String(imageFileHeader.Header.Get("Content-Type")),
})
영어, 중국어 공부중이신가요?
홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요!
반응형
LIST
'IT 인터넷 > Golang' 카테고리의 다른 글
[Golang] Supervisor로 데몬 실행하기 (0) | 2022.05.18 |
---|---|
[Golang] AWS CloudFront > 무효화 (CreateInvalidation) (0) | 2022.05.18 |
[Golang] Gin + MySQL (0) | 2022.05.16 |
[Golang] Hello Gin (0) | 2022.05.16 |
[Golang] echo 샘플2 (0) | 2022.05.15 |
Comments