본문 바로가기
Dev/Java

파일 전송을 위한 multipart/form-data

by vellahw 2022. 9. 27.

 

 

1. 파일 전송을 위한 FORM 설정

<form> 태그의 method 속성 값을 post로, enctype 속성 값을 multipart/form-data로 설정하고

type 속성이 file인 <input > 태그를 통해 파일을 선택한다.

 

 예제 1) 입력 폼 생성

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<html>
<head>
<title>multipart 폼</title>
</head>
<body>
<form action="multipart_data.jsp" method="post" enctype="multipart/form-data">
text1: <input type="text" name="text1" /><br/>
file1: <input type="file" name="file1"><br/>
file2: <input type="file" name="file2"><br/>
<input type="submit" value="전송" />
</form>
</body>
</html>

이클립스 내부 브라우저 실행 결과
크롬 실행 결과

*파일 선택 폼은 웹 브라우저에 따라서 다르다.

 

 예제 1-2) multipart_data.jsp 작성

<%@ page language="java" contentType="text/html; charset=EUC-KR" %>
<%@ page import="java.io.InputStream"%>
<%@ page import="java.io.IOException"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%
	InputStream is = null;
	
	out.print("[");
	out.print(request.getContentType());
	out.println("[");
	//ㄴ>웹 브라우저가 전송한 데이터를 그대로 출력
	
	try {
		is = request.getInputStream();
		int data = -1;
		
		while((data = is.read()) != -1) {
			out.print((char)data);
		}
	} finally {
		if(is != null) try { is.close(); } catch(IOException ex) { }
	}
%>

 

 

댓글