아빠아버지
523
2019-05-10 18:09:34
1
107

List<MultipartFile> file 로 파일을 받았습니다.


jsp에서 아래와 같이 파일을 여러개 등록하고

<input type="file" name="file">
<input type="file" name="file">
<input type="file" name="file">
<input type="file" name="file">
<input type="file" name="file">


java 컨트롤러 단에서 List<MultipartFile> file로 받았습니다.


파일도 잘 넘어오고, 여러개로 들어와도 정상적으로 DB에 저장이 됩니다.

그런데 문제가 있네요..ㅠㅜ

일단 보드 테이블과 첨부파일 테이블을 분리를 했는데

파일을 첨부하지 않을 경우에는 보드 테이블의 특정 필드값이 N으로 들어가고, 들어갈경우 Y로 들어가도록 만들었는데..


문제는 첨부파일을 추가하지 않아도 이상하게 계속 값이 들어가서 출력이 됩니다.ㅜㅜ

jsp단에서 첨부파일을 올리지 않을 경우에 java단에서 첨부파일이 없는것을 체크하하고 없을 경우에는 특정 필드에 N으로 들어가게 하고, 파일이 있을 경우에는 Y로 필드값을 변경하게 할려고 하는데..

List<MultipartFile> file 로 받을 경우
컨트롤러 단에서 어떻게 해야 첨부파일이 있는지 없는지 체크를 할 수 있을까요?


0
0
  • 답변 1

  • John Suhr
    207
    2019-05-10 20:09:36
    @RequestMapping(value="/getFiles")
    public String getFiles (MultipartHttpServletRequest req) {
    	List<MultipartFile> files = req.getFiles("file");
    	files.forEach(f->{
    		if (f.getSize() == 0) {
    			// 필드 N 입력
    		} else {
    			// 필드 Y 입력
    		}
    	});
    	return "/main";
    }

    파일을 첨부하지 않더라도 껍데기 뿐인 MultipartFile이 있기 때문에 null 인지 여부를 조사하셔도 의미 없습니다

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.