일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 이분 탐색
- til
- 객체지향
- 브루트포스
- 계산기 만들기
- 알고리즘
- Elasticsearch
- Baekjoon
- 일정 관리
- BFS
- Generics
- 코딩테스트
- programmers
- SpringBoot
- 해시
- Spring
- File
- ES
- 프로그래머스
- binary search
- parametric search
- 누적합
- 내일배움캠프
- 완전탐색
- Algorithm
- Java
- 이분탐색
- 구현
- 백준
- querydsl
- Today
- Total
목록File (2)
개발하는 햄팡이

문제 상황 우리 프로젝트는 파일을 하나하나 권한을 설정하는 ACL방식을 사용하여 객체를 관리하고 있다../** * 파일을 S3에 업로드합니다. 필요에 따라 공개 설정이 가능합니다. * * @param file 업로드할 파일 * @param hash 파일 해시 (경로 구성에 사용) * @param isPublic true일 경우 공개 접근(PublicRead) 설정 * @throws IOException 업로드 중 오류 발생 시 */private void uploadToS3(MultipartFile file, String hash, boolean isPublic) throws IOException { ObjectMetadata metadata = new ObjectMetadata(); ..
파일입출력 담당을 맡아 여기저기 찾아보며 이미지 업로드를 구현했는데 제목을 UUID로 설정하고 저장했더니 중복된 이름을 걸러주어 경로를 신경써야하는 문제는 없어졌지만같은 파일을 연달아 업로드 요청을 보냈을 경우 계속 저장되는 문제가 생겼다. 이렇게 되면 저장 공간이 낭비되겠지...같은 파일은 안저장하고 싶다는 생각이 들었다... 그래서 gpt한테 물어본 결과 파일 중복 업로드 방지를 위해선 파일의 내용(바이너리 데이터)을 InputStream으로 읽어서 그 데이터를 SHA-256으로 해싱하여 해시값을 사용하여 저장을 하면 된다고 한다. gpt가 말은 해줬는데 뭐라는건지 모르겠어서 인터넷 여기저기 찾아본 결과 1. 해시값은 파일의 내용을 가지고 만들기 때문에 파일이 같으면 해시값도 같기 때문에 중복 ..