2010-05-28 2 views
33
public string ContructOrganizationNameLogo(HttpPostedFileBase upload, string OrganizationName, int OrganizationID,string LangName) 
    { 
     var UploadedfileName = Path.GetFileName(upload.FileName); 
     string type = upload.ContentType; 
    } 

동적으로 파일 이름을 생성하려면 파일의 확장자를 가져오고 싶습니다. 형식을 분할하는 데 사용하는 방법은 하나. 하지만 내가 깨끗한 방식으로 확장을 얻기 위해 HttpPostedFileBase 개체를 사용할 수 있습니까? 이처럼asp.net mvc HttpPostedFileBase 파일 확장자를 가져 오는 중

답변

99

는 :

string extension = Path.GetExtension(upload.FileName); 

이 선도적 인 . 포함됩니다.

확장명이 올바른 것으로 가정해서는 안됩니다.

+0

byte []에서 유형을 결정하는 것이 그리 간단하지 않음을 언급 할 가치가 있습니다. ;) 관리되지 않는 코드를 사용하여 MagicString을 사용하거나, 실패하지 않을 때까지 다양한 유형으로 반복적으로 사용하는 등 조사 작업을 수행해야합니다. 내부 앱인 경우 오타가있는 파일 업로드의 결과는 소비 측에서 완화되고 악의적 인 사용의 위협이 매우 낮기 때문에 확장에 의존하는 것이 나머지를 수행하는 비용에 비해 충분히 합리적 일 것입니다. 그에 따라 귀하의 옵션을 달다 :) – JoeBrockhaus

+0

내 파일 이름은 "hello.zip"과 같지만이 명령은 ". + 7ip" –

관련 문제