enctype란??
- HTML <form>을 post방식으로 전송시 전송할 데이터를 인코딩하기 위해 인코등타입을 명시하는 것
enctype의 속성
enctype | 용도 |
multipart/form-data | 파일(<input type="file">)이 포함된 폼을 전송할 때 사용. |
application/x-www-form-urlcencoded | 파일이 없는 폼에 사용. multipart/form-data 를 제외한 모든 경우에 사용. enctype 속성이 없을 때 적용 기본 값. |
text/plain | 인코딩 없이 전송. 보안성이 없어 디버깅 용도로만 사용해야 함. |
"multipart/form-data"
- 파일을 업로드 할 때 사용하는 속성
- 파일을 업로드 하지 않을때도 사용 가능
But!! 전송시 추가적으로 표시되는 요소들이 있기에 "application/x-www-form-urlcencoded"보다 데이터 전송에 비효율적
"application/x-www-form-urlcencoded"
- 파일전송이 없는 경우 사용하는 속성
- Default값으로 지정되어 enctype을 미표시하면 자동으로 설정
"text/plain"
- 개발용도로만 사용하는 것이 좋음
- 인코딩 없이 전송 -> 보안에 취약, 한글 등 2바이트 문자는 전송 후 깨짐
사용예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<form method="post" action="/myapp/data/dataFormOk" enctype="multipart/form-data" onsubmit="return formCheck()">
<ul class="dataFormDiv">
<li>제목</li>
<li><input type="text" name="subject" id="subject"/></li>
<li>글내용</li>
<li><textarea name="content" id="content"></textarea></li>
<li>첨부파일</li>
<li>
<input type="file" name="filename1" id="filename1"/><br/>
<input type="file" name="filename2" id="filename2"/>
</li>
<li><input type="submit" value="자료등록"/></li>
</ul>
</form>
|
cs |
728x90
반응형
댓글