Java(159)
-
Java 핸드폰에서 찍은 이미지 업로드시 주의사항
핸드폰에서 찍은 이미지를 서버에 업로드시 width, height 정보를 가져올때, EXIF orientation를 고려해야 함그냥 width, height 정보를 가져오면, 옆으로 돌려서 찍은 사진의 경우 width와 height가 바껴서 나옴pom.xml com.drewnoakes metadata-extractor 2.18.0 Javaimport com.drew.imaging.ImageMetadataReader;import com.drew.metadata.Directory;import com.drew.metadata.Metadata;import com.drew.metadata.Tag;import com.drew.metadata.exif.ExifIFD..
2025.01.06 -
Spring boot 파일업로드시 413 에러 발생 조치
에러413 (Request Entity Too Large)spring boot access log 확인시, 기록되는게 없음# 전체 pod 목록 확인kubectl get pods -A# Spring boot pod에 접속kubectl exec -it pod/{pod 명} -n {namespace 명} -- sh# access log 확인cd {로그 디렉토리}tail -f {로그 파일명}nginx access log 확인시, 413 에러 기록됨cd {nginx 로그 디렉토리}tail -f {access 로그 파일명}nginx ingress controller 로그 확인시 413 에러 기록됨nginx ingress controller에서 413 에러를 발생하는 것을 확인nginx의 기본 값은 1M임nginx ..
2024.12.30 -
Spring boot client IP 가져오기
String ipAddress = request.getHeader("X-Original-Forwarded-For"); if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("X-Forwarded-For"); } if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getRemoteAddr(); }
2024.12.29 -
Spring boot bean이 초기화 된 이후 호출 없이 최초로 작동하기
@PostConstruct 어노테이션 사용@Componentpublic class Test { @Value("${test.a}") private String test; private String[] testArray; @PostConstruct public void init() { testArray = test.split(","); // Split by comma System.out.println(Arrays.toString(testArray)); // Output: [2234, 444] } public String[] getTestArray() { return testArray; }}
2024.12.29 -
Spring boot 로그에 X-Forwarded-For를 통해서 client IP 기록하기
application.ymlserver: port: {port} tomcat: use-relative-redirects: true basedir: . accesslog: enabled: true pattern: '%{yyyy-MM-dd HH:mm:ss}t %s %r %{User-Agent}i %{Referer}i %{X-Forwarded-For}i %b'X-Forwarded-For를 인식하지 못하는 경우, X-Original-Forwarded-For를 사용server: port: {port} tomcat: use-relative-redirects: true basedir: . accesslog: enabled: true patte..
2024.12.29 -
Spring boot Caused by: java.lang.Error: Unresolved compilation problem: Value cannot be resolved to a type
@Value 어노테이션을 인식하지 못하는 경우 발생함STS에서 자동으로 import를 찾지 못해서, 수동으로 import를 넣고 실행하면 에러 발생함pom.xml에 아래 내용 추가해서 해결함 org.springframework.boot spring-boot-configuration-processor true
2024.12.29