HtmlInputFile 서버 컨트롤 선언 구문
<input type=file> HTML 요소에 매핑되는 서버측 컨트롤을 만들어 서버에 파일을 업로드할 수 있도록 합니다.
<input
Type="File"
EnableViewState="False|True"
Id="string"
Visible="False|True"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed event handler"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnUnload="OnUnload event handler"
runat="server"
/>
설명
HtmlInputFile 컨트롤을 사용하여 HTML <input type=file> 요소를 프로그래밍할 수 있습니다. HtmlInputFile 컨트롤을 사용하면 사용자가 브라우저의 이진 또는 텍스트 파일을 웹 서버에 지정된 디렉터리에 업로드할 수 있는 페이지를 디자인할 수 있습니다. 파일 업로드는 HTML 3.2 이후 버전의 웹 브라우저에서 가능합니다.
예제
다음 예제에서는 간단한 파일 업로드 시나리오를 보여 줍니다. 첫째 코드 부분에서는 페이지의 이벤트 처리기를 정의합니다. 사용자가 폼의 Upload 단추를 클릭하면 파일 이름, 내용 길이 및 내용 분량(바이트)이 페이지에 표시되고 파일 자체는 서버의 UploadedFiles 디렉터리에 업로드됩니다.
참고 |
---|
폼의 enctype 특성을 "multipart/form-data"로 설정해야 합니다. |
폼의 코드는 HtmlForm 컨트롤, HtmlInputFile 컨트롤, HtmlInputButton 컨트롤 및 HtmlGenericControls 네 개(각각 여는 태그에 runat="server" 특성/값 쌍이 포함된 <div> 요소 한 개와 <span> 요소 세 개)를 구현합니다.
참고 |
---|
업로드된 파일에 대한 정보를 페이지에 표시하려면 HtmlGenericControl이 Control 클래스에서 상속하는 Visible 속성을 이벤트 처리기 코드에서 true로 설정해야 합니다. |
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Control</title>
</head>
<script runat="server">
Sub UploadBtn_Click(Sender as Object, e as EventArgs)
' Display information about posted file
FileName.InnerHtml = MyFile.PostedFile.FileName
MyContentType.InnerHtml = MyFile.PostedFile.ContentType
ContentLength.InnerHtml = cStr(MyFile.PostedFile.ContentLength)
FileDetails.Visible = True
' Save uploaded file to server
MyFile.PostedFile.SaveAs("c:\Uploadedfiles\uploadfile.txt")
End Sub
</script>
<body>
<form id="Form1" action="fileupload.aspx"
method="post"
enctype="multipart/form-data"
runat="server">
<h1>ASP.NET File Upload Example</h1>
Select File To Upload to Server:
<input id="MyFile"
type="file"
runat="server" />
<br /><br />
<input id="Submit1" type="submit"
value="Upload!"
onserverclick="UploadBtn_Click"
runat="server" />
<br /><br /><br />
<div id="FileDetails"
visible="false"
runat="server">
FileName: <span id="FileName" runat="server"/> <br />
ContentType: <span id="MyContentType" runat="server"/> <br />
ContentLength: <span id="ContentLength" runat="server"/>bytes
<br />
</div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Control</title>
</head>
<script runat="server">
void UploadBtn_Click(Object sender, EventArgs e)
{
// Display information about posted file
FileName.InnerHtml = MyFile.PostedFile.FileName;
MyContentType.InnerHtml = MyFile.PostedFile.ContentType;
ContentLength.InnerHtml =
MyFile.PostedFile.ContentLength.ToString();
FileDetails.Visible = true;
// Save uploaded file to server
MyFile.PostedFile.SaveAs("c:\\Uploadedfiles\\uploadfile.txt");
}
</script>
<body>
<form id="Form1" action="fileupload.aspx"
method="post"
enctype="multipart/form-data"
runat="server">
<h1>ASP.NET File Upload Example</h1>
Select File To Upload to Server:
<input id="MyFile"
type="file"
runat="server" />
<br /><br />
<input id="Submit1" type="submit"
value="Upload!"
onserverclick="UploadBtn_Click"
runat="server" />
<br /><br /><br />
<div id="FileDetails"
visible="false"
runat="server">
FileName: <span id="FileName" runat="server"/> <br />
ContentType: <span id="MyContentType" runat="server"/> <br />
ContentLength: <span id="ContentLength" runat="server"/>bytes
<br />
</div>
</form>
</body>
</html>