2015-01-27 3 views
2

폴더에 입력하는 모든 새 항목을 저장하고 처리하는 작은 프로젝트가 있습니다.임시 직원의 실제 파일 이름을 얻으십시오

Gmail의 항목을이 폴더로 전송할 때 첨부 파일 이름이 인식되지 않고 원래 이름이 아니기 때문에 찾을 수없는 새로운 확장자가 생기는 것입니다.

예를 들어, AAA.PDF으로 신고하면 AAA.PDF.GGG.ORT이됩니다.

확장자를 추가하지 않고 어떻게 실제 파일 이름을 가져올 수 있습니까?

+0

가장 신뢰할 수있는 방법은하는 것 파일 자체를 검사하십시오. PDF, JPEG, GIF, DOCX 등은 모두 파일 유형을 제공하는 처음 몇 바이트 내에서 고유 한 헤더를 가지고 있습니다. –

+1

파일 이름은 어떻게 생성됩니까? 'GGG.ORT'가 추가 된 이유는 언제나 동일합니다. 추가 가능한 확장 목록을 알고 있습니까,'FileNameWithoutExtension'은 항상'AAA'이거나'AAA.BBB.PDF'와 같은 점을 포함 할 수 있습니까? ? –

+0

@Brad Christie 불행히도 이것은 매우 신뢰할 수 없습니다. Windows에서 * NIX와는 달리 _magic_이없는 여러 파일 형식이 있습니다. 즉, 처음 몇 바이트는 파일 형식에 대해 아무 것도 말하지 않습니다. – DrKoch

답변

2

원본 파일 이름이 하나의 확장 예와 항상 : AAA.PDF 또는 DDD.JPEG

는 그럼 간단하다

string fileName = System.IO.Path.GetFileName(fullName); // "AAA.PDF.GGG.ORT" 
string[] fileNameToken = fileName.Split('.'); 
string originalFileName = string.Format("{0}.{1}", fileNameToken[0], fileNameToken[1]); 
+0

대단히 감사합니다. – user1095549

0

'실제'파일 확장자 다음에 몇 가지 패턴이 있다고 가정하면 파일 이름을 변환하는 것과 비슷한 하위 문자열 함수를 사용합니다.

+2

현재이 "대답"은별로 도움이되지 않습니까? –

관련 문제