ASP.NET

29.C# ASP.NET - FileUpload 컨트롤 [WebStandardControl]

Godffs 2009. 10. 8. 12:05
반응형
주요명령어
- FileUpload.HasFile : 파일 첨부여부 확인
- FileUpload.SaveAs() :  서버 경로에 파일 저장
- FileUpload.PostedFile.ContentLength : 첨부된 파일 사이즈(Byte)
    기본 : Asp에서는 4096 kbytes

ASP.NET 서버 업로드 용량 제한 풀기 :
http://support.microsoft.com/kb/815307/ko

web.config -
<system.web>에서 설정

    10MB로 제한 : 1048576KB 하지만 실제 용량 크기에 따라서 시간이 걸림


FrmFileUpload.aspx

<div>

   <asp:FileUpload ID="ctlFileUpload" runat="server" />

  

   <asp:Button ID="btnUpload" runat="server"

       Text="파일 업로드"

       onclick="btnUpload_Click" />

   <br />

  

   <asp:Label ID="lblDisplay" runat="server" Text=""></asp:Label>  

</div>


FrmFileUpload.aspx.cs

protected void btnUpload_Click(object sender, EventArgs e)

{

   // 파일이 첨부되었는지 확인

   if (ctlFileUpload.HasFile)

   {

       // 업로드 : 같은경로의 files라는 폴더에 넘겨져온

           //파일명(폴더명X)으로 저장

       ctlFileUpload.SaveAs(

           Server.MapPath(".") + "\\files\\" + ctlFileUpload.FileName);

 

       // 다운로드 링크 만들기

       string down =

           String.Format("<a href='{0}{1}'>{2}</a>"

           , "./files/"

           , Server.UrlPathEncode(ctlFileUpload.FileName)

           , ctlFileUpload.FileName);

 

       lblDisplay.Text = "업로드되었습니다.<hr />" + down + "<hr />"

           + "파일사이즈 : " +

           ctlFileUpload.PostedFile.ContentLength.ToString();

   }

 

   else

   {

       lblDisplay.ForeColor = System.Drawing.Color.Red;

       lblDisplay.Text = "파일을 첨부하세요.";

   }

}


결과화면

[그림29-1]



반응형