2011-12-01 4 views
1

현재 업로드 된 내용을 클라이언트가 인식 할 수 있도록 폴더 내에있는 모든 이미지를 표시하는 컨트롤을 만들고 있습니다.FileInfo 변수의 이미지 크기

표시하려는 속성을 설정 했으므로 업로드 한 내용을 계속 알려야합니다. 지금까지 모든 것이 잘 진행되고 있지만 작은 문제가 발생했습니다.

업로드 한 이미지의 높이와 너비를 표시하고 싶지만 현재이 작업을 수행 할 방법을 찾을 수 없습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까 ??

지금까지 내 코드는 다음과 같습니다

FileInfo[] files = new DirectoryInfo(Server.MapPath(@"..\_includes\images\uploads\") + folder).GetFiles(); 

var imagefiles = from FileInfo f in files 
         where f.Exists 
         select new 
         { 
          url = imageurl + f.Name, 
          name = f.Name, 
          creation = f.CreationTime.ToLongDateString(), 
          filesize = (f.Length/1024).ToString() + "KB", 
         }; 

답변

3

당신은 Image 객체로 이미지를로드해야합니다 -이 당신에게 이미지의 크기를 줄 것이다.

using(var img = Image.FromFile(file.Name)) 
{ 
    var height = img.Height; 
    var width = img.Width; 
} 
+0

내 코드를 어떻게 수정합니까? – Callum

+0

이미지 메타 데이터를 읽는 방법 http://msdn.microsoft.com/en-us/library/xddt0dz7.aspx –

+0

@Callum - LINQ 쿼리 내에서 이미지 작업을 수행하지 않겠습니다. 'imagefiles'를 둘러보고 루프의 예제 코드를 사용할 수 있습니다. – Oded

1

당신은 시도 할 수 있습니다 (그러나 RAM 및 CPU가 소모 될 수 있습니다)

Image img = Image.FromFile(your_file); 

img.Widthimg.Height를 사용합니다.

이러한 정보는 으로 잘못 표시 될 수 있습니다. : 내 question 참조.