Ajax Toolkit 을 이용한 실시간 (페이지 전환없이) 파일업로드 구현하기
최신버전 아작스 툴킷(http://www.asp.net/ajax/)을 다운받습니다
화면구성부분
페이지에 ScriptManager 와 AsyncFileUpload 를 끌어놓습니다.
AsyncFileUpload를 아래와 같이 구성합니다.
Onclientuploadstarted 등을 설정하면각각의 상태에 맞는 자바스크립트가 실행됩니다.
<script>
function alertMsg() {
alert("파일 업로드시작 ");
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="style1">
<tr>
<td class="style2">
<cc1:AsyncFileUpload ID="AsyncFileUpload1" runat="server" ThrobberID="Image1"
onuploadedcomplete="AsyncFileUpload1_UploadedComplete1" />
</td>
<td>
<asp:Image ID="Image1" runat="server" ImageUrl="ajax-loader.gif" />
</td>
</tr>
</table>
<br />
<br />
</ContentTemplate>
</asp:UpdatePanel>
ThrobberID를 설정하면 업로드중에서는 이미지가 노출되고 완료되면 사라집니다. (업로드 상태표시)
비하인드 소스부분
파일을 셀렉트하고 나면 파일업로드를 진행해줍니다.
protected void AsyncFileUpload1_UploadedComplete1(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
System.Threading.Thread.Sleep(5000);
string savePath = MapPath("~/FileUpload/") + Path.GetFileName(e.filename);
AsyncFileUpload1.SaveAs(savePath); //실질적인 파일업로드
}
실행화면
파일첨부를 하면 찾아보기 옆에 보시면 로딩이미지가 실행되고 있습니다
완료가 되면..
완료상태는 알수 있으므로 완료표시라든지 해주면 더 깔끔~
'C#.NET' 카테고리의 다른 글
DataGridView (추가중…) (0) | 2009.12.02 |
---|---|
'System.Data.Common.DataRecordInternal' 형식 개체를 'System.Data.DataRowView' 형식으로 캐스팅할 수 없습니다. (0) | 2009.12.02 |
BackgroundWorker 클래스 (0) | 2009.12.02 |
쉐어포인트를 이용한 프로젝트 관리 (0) | 2009.12.01 |
Windows Server 2008용 Windows Media 서비스 2008 (0) | 2009.12.01 |
WCF 웹서비스를 이용한 데이터 바인딩 (0) | 2009.12.01 |
(웹서비스 최소용량 해결방법)할당량을 늘리려면 적합한 바인딩 요소에서 MaxReceivedMessageSize 속성을 사용하십시오 (0) | 2009.12.01 |
System.Data.SqlServerCe 오류해결방법 (0) | 2009.12.01 |
클릭원스를 이용한 dll 자동다운로드 (0) | 2009.11.30 |
clientaccesspolicy.xml 파일을 사용하여 도메인 간 액세스를 허용하려면 (0) | 2009.11.30 |