2012-09-02 4 views
4

파일을 C# MVC 웹 사이트에 업로드 할 수 있도록 허용하고 있습니다. 현재 확장명에 따라 유형을 제한하고 있지만 이름을 변경하지 않았 음을 확인하기 위해 서버 측 검사가 필요하다고 느끼고 있습니다.파일 MIME 형식 검사

내가 필요로하는 모든 유형이나 여기서 사용할 수있는 라이브러리를 확인하는 데 사용할 수있는 기술이 있습니까?

사람들이 파일의 처음 몇 바이트를 확인하는 것을 보았지만 무언가를 놓칠 까봐 두렵다.

도움 주셔서 감사합니다.

편집 :

는 제안 here이 많이 있습니다. 나는 이들 중 일부를 해결책으로 조사 할 것이다.

+1

당신이 가지고있는 모든 것이 바이트 묶음이라면, 나는 조금 어려울 것 같네요. 이미지 만 처리하는 경우 항상 특정 헤더를 확인할 수 있습니다. –

+0

이미지 유형뿐만 아니라 doc, xls, pdfs 등과 같은 다른 MIME 형식이 될 것입니다. – shenku

답변

0

HttpFileBase를 사용하지 않고 파일 스트림 만 있기 때문에 here에서 일부 솔루션을 믹싱하는 결과가 발생했습니다. 스트림의 처음 몇 바이트를 읽어 MIME 유형을 결정해야했습니다.

참고 : 서버에 무엇을 설치할지 또는 설치하지 않을지 모르기 때문에 레지스트리 기법을 사용하지 않습니다.

1

파일을 HttpPostedFile로 읽는 경우 MIME 유형과 동일한 내용 유형을 얻을 수 있습니다.

그래서 당신은 다음과 같은 작업을 수행 할 수

if (myFile.ContentType == "video/mpeg") 
{ 
    // Do your thing 
} 
else{ 
    // error 
} 
+0

http://stackoverflow.com/questions/4019874/is-httppostedfile-contenttype-a-flawless-way-to-validate- 업로드 된 파일 –

관련 문제