2014-03-19 3 views
1

Webform (aspx) 페이지가 있습니다.POST가 아닌 단추 포스트 백이 포함 된 Webform 파일 업로드

우리는 기본적으로 버튼을 눌렀을 때 "게시"하는이 양식을 가지고 있지만 실제로는 실제로 httpPOST가 아니며 사실은 해당 버튼의 포스트 백 onclick 이벤트입니다. 그 이벤트 내에서 우리는 사용자가 텍스트 필드에 입력 한 것과 같은 모든 정보를 얻습니다. 어느 쪽이 위대한 작품.

하지만 이제 파일 업 로더, 특히 이미지 업 로더를 추가하고 싶습니다.

버튼 이벤트 내에서 코드 숨김에서 입력 유형 파일로 업로드 한 파일을 다시 게시 할 수 있습니까? httppost가 아닙니다.

답변

4

여기에는 FileUpload에 대한 특정 컨트롤이 있습니다. 그냥 페이지에 추가하고 당신은 더 많은 정보를 원하시면 등 텍스트 상자 같은 페이지에있는 다른 컨트롤과 매우 유사 포스트 백에이 컨트롤에서 업로드 된 파일을 얻을 수 있습니다 http://asp.net-tutorials.com/controls/file-upload-control/

aspx 페이지 :

<form id="form1" runat="server"> 
    <asp:FileUpload id="FileUploadControl" runat="server" /> 
    <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" /> 
    <br /><br /> 
    <asp:Label runat="server" id="StatusLabel" text="Upload status: " /> 
</form> 

코드 뒤에 :

protected void UploadButton_Click(object sender, EventArgs e) 
{ 
    if(FileUploadControl.HasFile) 
    { 
     try 
     { 
      string filename = Path.GetFileName(FileUploadControl.FileName); 
      FileUploadControl.SaveAs(Server.MapPath("~/") + filename); 
      StatusLabel.Text = "Upload status: File uploaded!"; 
     } 
     catch(Exception ex) 
     { 
      StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message; 
     } 
    } 
} 
관련 문제