Kernel360 / F2-TECHPICK

웹에서 지식을 찾는 사람들을 위한 링크 관리 유틸리티
4 stars 3 forks source link

[bug] multipart file이 업로드 되지 않는 버그 #511

Closed Gyaak closed 1 day ago

Gyaak commented 1 day ago

Describe the bug

multipart file 업로드가 제대로 안되는 버그

Failed to parse multipart servlet request
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request

To Reproduce

multipart file upload시 발생

Why?

CachedHttpServletRequest에서 요청을 캐싱할때 multipart file을 캐싱하지 않아 발생한 문제.. multipart file 스트림을 소모했기때문에 stream closed되어 파일을 다시 읽어오지 못함..

kimminkyeu commented 1 day ago

@Gyaak 컨트롤러로 오기 전에 스트림에서 바디를 읽어서, 다시 못읽게 되는 문제인 듯. http서블릿리퀘스트 스트림을 읽으면 안될 것 같음. 서블릿 리퀘스트애서 읽지 말고, 컨트롤러 인자로 넘어온 이후에 각 함수 인자 값을 캐싱하는 방식 어떨지?

Gyaak commented 1 day ago

@kimminkyeu 잘못된 형식의 요청이 왔을 때 로깅하기 위함이라 controller에 도달하기 전에 body를 읽어 캐싱하려고 함. multipart file 요청의 경우 body를 캐싱하지 않도록 수정 #522