Web Service를 이용한 파일 업로드 ( Web Site )
먼저 D:\SaveImage 아까 웹 서비스를 만들 때 저장 폴더를 설정했는데 그 경로로 upload 라는 가상 디렉토리를 설정한다. 이 설정은 http://local.image.co.kr 에 설정해야 한다.
이제 웹 사이트를 만들어보자
새 프로젝트에서 ASP.NET 웹 응용프로그램을 선택 후 UploadTestWeb이름을 생성하자.
FileUpload.aspx 생성하기
이 파일은 업로드를 테스트 하는 .aspx 파일이다.
FileUpload.aspx
<br /><br /><br /> 새이름으로 : <asp:FileUpload ID="files" runat="server" /> <asp:Button ID="Upload" runat="server" Text="업로드" OnClick="Upload_OnClick" /> <br /><br /> 업로드이름으로 : <asp:FileUpload ID="files2" runat="server" /> <asp:Button ID="Upload2" runat="server" Text="업로드" OnClick="Upload2_OnClick" /> <br /><br /><br /> <img src="http://local.images.co.kr/upload/hi2/01.png" border=1 /> 01.png - <asp:Button ID="btnDel" runat="server" Text="삭제" OnClick="btnDel_OnClick" /> <br /><br /><br /> <img src="http://local.images.co.kr/upload/hi2/02.png" border=1 /> 02.png - <asp:Button ID="btnDel2" runat="server" Text="삭제" OnClick="btnDel2_OnClick" /> <br /><br /><br /> <img src="http://local.images.co.kr/upload/hi2/03.png" border=1 /> 03.png - <asp:Button ID="btnDel3" runat="server" Text="삭제" OnClick="btnDel3_OnClick" /> <br /><br /><br /> <br /><br /><br /> <br /><br /><br /> 다중 업로드(새이름)<br /> <asp:FileUpload ID="file1" runat="server" /><br /> <asp:FileUpload ID="file2" runat="server" /><br /> <asp:FileUpload ID="file3" runat="server" /> <asp:Button ID="Upload3" runat="server" Text="업로드" OnClick="Upload3_OnClick" /> <br /><br /><br /> 다중 업로드(기존이름)<br /> <asp:FileUpload ID="file4" runat="server" /><br /> <asp:FileUpload ID="file5" runat="server" /><br /> <asp:FileUpload ID="file6" runat="server" /> <asp:Button ID="Upload4" runat="server" Text="업로드" OnClick="Upload4_OnClick" /> <br /><br /><br /> |
소스 중간의 이미지 출력 부분은 이미지가 잘 업로드가 되었는지를 보기 위해서 이다.
새 이름으로 업로드 하기
#region 다중 새이름으로 업로드 /// <summary> /// 다중 새이름으로 업로드 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Upload3_OnClick(object sender, EventArgs e) { List<System.Web.UI.WebControls.FileUpload> listFile = new List<System.Web.UI.WebControls.FileUpload>(); listFile.Add(file1); listFile.Add(file2); listFile.Add(file3); SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.MultiNewFileUpload(listFile, "HI2")[2][0]); Response.Write(statusMessage); } #endregion |
위에서 설정한 아이디와 키 값이 맞지 않으면 에러가 발생한다. 따로 try catch문을 설정하지 않아 에러로 보이니 설정 값을 서로 잘 맞춰야 한다.
기존 이름으로 덮어 씌우기
#region 기존 이름 덮어씌우기 /// <summary> /// 기존 이름 덮어씌우기 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Upload2_OnClick(object sender, EventArgs e) { SiteUpload sUpload = new SiteUpload(); Response.Write("Len : " + files2.PostedFile.ContentLength + "<br />"); /* 상태 변수 READY : 준비 NOEXT : 지원되지 않는 확장자 NOFNM : 잘못된 파일명 FAILD : 서버에서 실패 SUCES : 성공 NOSEL : 파일선택안함 */ string statusMessage = sUpload.SatausMessage(sUpload.SameFileUpload(files2, "HI2")[0]); Response.Write(statusMessage); } #endregion |
다중 새 이름으로 업로드
#region 다중 새이름으로 업로드 /// <summary> /// 다중 새이름으로 업로드 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Upload3_OnClick(object sender, EventArgs e) { List<System.Web.UI.WebControls.FileUpload> listFile = new List<System.Web.UI.WebControls.FileUpload>(); listFile.Add(file1); listFile.Add(file2); listFile.Add(file3); SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.MultiNewFileUpload(listFile, "HI2")[2][0]); Response.Write(statusMessage); } #endregion |
다중 기존 이름으로 덮어씌우기
#region 다중 기존이름으로 덮어씌우기 /// <summary> /// 다중 기존이름으로 덮어씌우기 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Upload4_OnClick(object sender, EventArgs e) { List<System.Web.UI.WebControls.FileUpload> listFile = new List<System.Web.UI.WebControls.FileUpload>(); listFile.Add(file4); listFile.Add(file5); listFile.Add(file6); SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.MultiSameFileUpload(listFile, "HI2")[2][0]); Response.Write(statusMessage); } #endregion |
파일 삭제
#region 파일 삭제 /// <summary> /// 파일 삭제 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnDel_OnClick(object sender, EventArgs e) { /* 상태 변수 FAILD : 서버에서 실패 SUCES : 성공 */ SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.DeleteFile("HI2", "01.png")); Response.Write(statusMessage); } /// <summary> /// 파일 삭제 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnDel2_OnClick(object sender, EventArgs e) { /* 상태 변수 FAILD : 서버에서 실패 SUCES : 성공 */ SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.DeleteFile("HI2", "02.png")); Response.Write(statusMessage); } /// <summary> /// 파일 삭제 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnDel3_OnClick(object sender, EventArgs e) { /* 상태 변수 FAILD : 서버에서 실패 SUCES : 성공 */ SiteUpload sUpload = new SiteUpload(); string statusMessage = sUpload.SatausMessage(sUpload.DeleteFile("HI2", "03.png")); Response.Write(statusMessage); } #endregion |
이렇게 해서 웹 서비스를 통해 업로드 하는 과정을 모두 완료했다.
'Web Platform' 카테고리의 다른 글
ASP.NET에서 엔터키(Enter) 문제 해결 방법 (0) | 2009.06.29 |
---|---|
HTML 특수문자 사용하기 (0) | 2009.06.29 |
웹서비스(Web Service)를 이용한 파일 업로드(2) (DLL 만들기) (0) | 2009.06.29 |
웹서비스(Web Service)를 이용한 파일 업로드(1) (0) | 2009.06.29 |
Web.config 파일에서 appSettings, connectionStrings을 관리(2) (0) | 2009.06.29 |