2009-03-18 15 views
1

asp.net 웹 사이트를 구축 중입니다. 페이지에 이미지를 표시하고 싶지만 이미지 이름을 알고있는 동안에는 확장자를 알 수 없습니다.이미지의 이름과 확장명을 가져 오는 방법은 무엇입니까?

그래서 이미지 디렉토리를 열어 그 이름으로 이미지를 가져 오려고합니다.

+0

에 파일의 목록을 가져올 수 Directory 개체를 사용할 수 있습니까? 너 무슨 짓을 한거야? 어떻게 된 거예요? –

답변

8

당신은 당신이 문제가있는이 어떤 부분 디렉토리

string imageFilename = System.IO.Directory.GetFiles(imageDirectory, name + ".*").First(); 
+0

꽤 많은 맛의 문제이지만, concat 함수 대신 "name +". * " '을 사용하고 싶습니다. 같은 최종 결과지만 더 읽기 쉽습니다. – vipirtti

+0

그것은 나 에게이 오류를 줬어 : "System.ArgumentException : 경로에 잘못된 문자가 있습니다." –

+0

"System.ArgumentException : 경로에 잘못된 문자가 있습니다." "\"문자를 이스케이프하지 않았을 때 발생합니다. "C : \\"또는 @ "C : \" – bstoney

2

실제로 파일이 작동하는 방식이 아닙니다. 전체 이름을 알아야합니다. 예를 들어 기본 이름이 같고 확장자가 다른 이미지가 여러 개있는 경우 어떻게됩니까? 예를 들어, foo.pngfoo.jpg을 비교하십시오.

하나의 제안은 해당 디렉토리에있는 기본 이름을 가진 모든 파일에 와일드 카드 검색을 시도하는 것입니다 (bstoney의 해결책은 see here입니다). 정확히 일치하는 항목이 하나만 있으면 완료됩니다. 여러 경기를 얻는다면 어떤 경기가 승리하는지에 대한 규칙을 만들어야합니다.

관련 문제