2012-10-30 5 views
2

현재 디렉토리를보고 목록 상자에서 .jpeg를 미리 봅니다. 목록 상자에 디렉터리 내용이 채워지고 Jpegs 만 표시되지만 그림 상자에서 jpeg 미리보기를 얻으려면 어떻게해야하는지 생각할 수 없습니다. 나는클릭 이벤트에서 미리보기 이미지보기 # asp.net

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     DirectoryInfo infoDir = new DirectoryInfo(@"G:\Test_Directory");    
     FileInfo[] infoFile = infoDir.GetFiles("*.jpeg"); 
     foreach(FileInfo file in infoFile) 
     { 
     lstDirectory.Items.Add(file.Name); 
     }      
    } 

    protected void lstDirectory_SelectedIndexChanged(object sender, EventArgs e) 
    { 
    } 
} 

이이 코드입니다 Visual Studio 2010에서 Visual Studio 2010을

에하는 ASP .NET 응용 프로그램을 사용하고 내가 다시 게시를 사용할 필요가 이해 아래입니다. 누군가가 도울 수 있다면, 좋을 것입니다.

다음은 G에 파일을 jpegimage.jpeg

감사합니다 : 드라이브 목록 상자에 볼 수있는 JPEG입니다.

답변

1

어때?

자바 스크립트에서 두 가지 추가 ASP.NET 페이지를 사용하여이 작업을 수행 할 수 있다고 생각합니다.

  1. 먼저 새 웹 페이지를 만듭니다. 우리는 이것을 A.aspx라고 부를 것입니다. 이 페이지는 쿼리 문자열에 이미지 이름이 전달됩니다. 매우 간단합니다 : "G : \ TestDirectory"에서 파일 내용을 가져 와서 응답 스트림에 씁니다. 스택 오버플로에 대한 질문과 대답은 이전에 해보지 않은 경우이를 수행하는 방법에 대해 설명합니다.

  2. 그런 다음 다른 웹 페이지를 만드십시오. 우리는 이것을 B.aspx라고 부를 것입니다. 높이와 너비가 적절하게 설정된 이미지 컨트롤이 있습니다. 또한 쿼리 문자열에서 이미지 이름을 가져옵니다. 코드 숨김은 이미지 컨트롤에서 ImageSource 속성으로 사용할 URL을 만듭니다. URL은 A.aspx의 URL이며 URL 인코딩 된 이미지 이름이 매개 변수로 추가됩니다.

  3. ASP.NET 페이지에서 이벤트 처리기를 목록 상자에 연결하십시오. 목록 상자에서 선택한 인덱스가 변경되면 클라이언트 쪽의 이 목록 상자의 이미지 이름과 함께 B.aspx에 대한 URL을 기반으로 URL을 작성합니다. 방금 작성한 URL을 사용하여 창을 열고 B를 가리킨 다음 원하는 파일 이름을 전달하십시오.

그래서 : 목록 상자 선택된 인덱스 변경 (또는 더블 클릭, 또는 어떤 이벤트 당신이 선택이), 자바 스크립트 페이지 B.aspx있는 창이 열립니다. 페이지 B에는 A.aspx에 대한 URL로 설정된 이미지 컨트롤이 있습니다. A.aspx는 이미지 콘텐트를 이미지 콘트롤로 스트리밍합니다.이 이미지 콘트롤은 새 창에 나타납니다.

관련 문제