0108
230
2019-05-16 09:52:55
3
72

HttpServletRequest 파일 읽어서 변경 후 다시 담기


안녕하세요.

좋은 아침입니다.


업무가 좀 이상하긴 하지만, 스프링 인터셉터에서 request 안에 담긴 파일 읽은 후

다시 request에 담아야 하는 업무가 있어서 질문드립니다. 


        //예시
        //request에 담긴 파일을 읽어서 비밀번호 설정 후 다시 request에 담기
        MultipartRequest mr = (MultipartRequest)request;
        Iterator<String> itr = mr.getFileNames();
        while(itr.hasNext()){
               //파일 읽어서 ~ 비밀번호 설정
        }


위 예시와 같이 request에 담긴 파일을 읽어서 특정 작업까지는 가능한데,

혹시 다시 그 파일을 request에 담는 방법이 있을까요?

도움 주시면 감사하겠습니다.


좋은 하루 보내세요!


0
0
  • 답변 3

  • 코딩하는그리즈만
    52
    2019-05-16 12:04:32

    다운로드는 response에 담지 않나요?

    0
  • 0108
    230
    2019-05-16 13:00:10

    디버깅 해서 찍어보면, request에 multipartFiles라고 파임 담겨 있더라고요..

    0
  • John Suhr
    190
    2019-05-16 15:03:18
    Request객체는 Attribute가 아닌 Parameter는 read-Only입니다. HttpServletRequestWrapper를 확장하는 커스텀 래퍼 클래스를 만든 후에 기존 request를 super(request)로 생성자 넘겨주시구요, get메서드를 오버라이딩하셔야 합니다. Mutipart를 다루시니 MultipartHttpServletRequest도 implements하셔야 하구요. 굉장히 귀찮은 작업으므로 Request에 다시 쓰는 방법이 아닌 Collection으로 뽑아내서 핸들링하는 방법을 많이 씁니다.
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.