springframework

MultipartFile 의 메서드

Jungsoomin :) 2020. 9. 6. 23:56

spring mvc 에서 제공하는 multipartFile 타입은 업로드된 파일의 정보를 쉽게 파악할 수 있게 한다.

 

<form action="/uploadFormAction" method="post" enctype="multipart/form-data">
		<input type="file" name="uploadFile" multiple="multiple" />
		<button>Submit</button>
	</form>

 

Controller<<

@PostMapping("/uploadFormAction")
	public void uploadFormPost(MultipartFile[] uploadFile, Model model) throws IOException {

		for (MultipartFile file : uploadFile) {
			log.info("----------------------------------------");
			log.info("Upload File Name : " + file.getOriginalFilename());
			log.info("Upload File Size : " + file.getSize());
			log.info("Upload File byte[] : " + file.getBytes());
			log.info("Upload Tag Name : " + file.getName());
			log.info("Upload File InputStream : " + file.getInputStream());
		}

	}

log

INFO : me.soomin.controller.UploadController - ----------------------------------------
INFO : me.soomin.controller.UploadController - Upload File Name : bus.jpg
INFO : me.soomin.controller.UploadController - Upload File Size : 165168
INFO : me.soomin.controller.UploadController - Upload File byte[] : [B@69252bf8
INFO : me.soomin.controller.UploadController - Upload Tag Name : uploadFile
INFO : me.soomin.controller.UploadController - Upload File InputStream : java.io.ByteArrayInputStream@5ed9055e

 

이제 메서드를 확인한다.

 

  • String getName() : html 태그 이름 리턴
  • String getOriginalFilename() : 업로드 파일 이름리턴, IE 에서는 모든 경로로 나타냄
  • long getSize() : 파일의 byte 사이즈 리턴
  • byte[] getBytes() : 파일의 데이터를 byte[] 로 리턴
  • InputStream InpgetInputStream() : 파일과 연결된 InputStream 리턴
  • void transferTo(File file) : File 매개값에 전해진 경로와 이름으로 업로드파일을 저장