2012-12-04 2 views
0

다음과 같이 사용자 정의 컨트롤을 만들어 이미지를 업로드했습니다. 그것의 코드 뒤에 나는 이미지를 저장하는 방법이있다. 다른 버튼의 클릭 이벤트에ASP.NET 사용자 컨트롤에 대한 호출 메서드

public partial class UCImageUploader : System.Web.UI.UserControl 
    { 
     public bool SaveImg() 
     { 
         //file field isn't empty 
     if (FileUploadImage.PostedFile != null) 
     { 

      //check file size 
      HttpPostedFile img = FileUploadImage.PostedFile; 

      if (img.ContentLength == 0) // no file uploaded 
      { 
       msg = "No file was uploaded"; 
       LblMsg.Text = msg; 
       return false; 
      } 
      else if (img.ContentLength > fileSizeInKB * 1024) // file size exceeds limit 
      { 
       msg = "File size exceeds the limit. Max is " + fileSizeInKB + "KB"; 
       LblMsg.Text = msg; 
       return false; 
      } 
      else // accepted file size 
      { 
       //check file extension jpg,jpeg,BMP 

       string[] fileExtensions = { "jpg", "jpeg", "bmp" }; 

       if (!fileExtensions.Contains(Path.GetExtension(img.FileName).ToLower())) 
       { 
        msg = "File extension must be of jpg,jpeg,bmp"; 
        LblMsg.Text = msg; 
        return false; 
       } 

      } 
     } 
     msg = "Valid File"; 
     LblMsg.Text = msg; 
     return valid; 
    } 

을 다음과 같이 뒤에

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCImageUploader.ascx.cs" 
    Inherits="WebApplicationFor_ABC.UCImageUploader" %> 
<div> 
    <asp:FileUpload ID="FileUploadImage" runat="server" /> 
    <asp:Image ID="ImageThumbnail" runat="server" /> 
    <asp:Label ID="LblMsg" runat="server" Text=""></asp:Label> 
<asp:CheckBox ID="CheckBoxDelete" runat="server" Text="Delete"/> 

</div> 

코드 나는이 SaveImg() 메서드를 호출하고 이미지를 저장합니다. 문제는 다시 게시 이미지가 null로 반환되기 때문입니다. 어떻게 해결할 수 있을까요?

+0

문제는 'SaveImg' 방법 (또는 누가 아는가)에 있어야합니다. 그것을 공유하지 않으면 아무도 당신의 문제를 해결할 수 없을 것이라고 믿습니다. –

답변

1

이미지에 액세스하려면 파일 업로드 컨트롤 (예 :

FileUploadImage.SaveAs(savePath); 
+0

그러면 컨트롤에 정의 된 메서드를 어떻게 호출 할 수 있습니까? 어쨌든이 메서드를 호출하고 포스트 백간에 데이터를 손실하지 않고 전달 된 데이터에 액세스 할 수 있습니까? – GC86

관련 문제