2014-04-07 3 views
-2

나는 내 자신의 목적을 위해 고급 html 서버를 작성 중이다. 이제 파일 유형을 지정할 때 문제가 발생했습니다.파일 MIME 형식 가져 오기?

Select Case extension.ToLower() 
    Case ".avi" 
     Return "video/x-msvideo" 
    Case ".css" 
     Return "text/css" 
    Case ".doc" 
     Return "application/msword" 
    Case ".htm", ".html" 
     Return "text/html" 
     ... 
    Case Else 
     Return "application/octet-stream" 
End Select 

나는 그런 식으로 그것을 사용 :

Dim context as Net.HttpListenerContext 
Dim file as String 
context.Response.ContentType = getFileType(Path.GetExtension(file)) 

나는 또한 C#으로

편집 답변을 받아 들일 : 내 질문 현재 내가 확장

내 기능 코드에 의해 파일 형식을 따지기 어떻게하면 레지스트리와 사건없이 단순히 파일 형식을 얻을 수 있습니까?

+4

그럼 뭐가 궁금한가요? –

+0

이것은 당신에게 유용 할 수 있습니다 : http://stackoverflow.com/questions/11547654/determine-the-file-type-using-c-sharp –

+0

아마도이 [http://msdn.microsoft.com/en- 우리/라이브러리 ...] (http://msdn.microsoft.com/en-us/library/vstudio/y0211exb%28v=vs.100%29.aspx) –

답변

0

항상 사전을 사용하여 정보를 설정 파일에 저장할 수 있습니다.

Dim mimeTypeList As New Dictionary(Of String, String) 

    mimeTypeList.Add(".avi", "video/x-msvideo") 
    mimeTypeList.Add(".css", "text/css") 
    mimeTypeList.Add(".avi", "application/msword") 

    ' ... 

    If mimeTypeList.Contains(extension.ToLower()) Then 
     Return mimeTypeList(extension.ToLower()) 
    End If 

    Return "application/octet-stream" 

하지만 IIS에는 이미이 모든 기능이 내장되어 있습니다.

+0

귀하의 답변은 [this] (http://stackoverflow.com/a/4465905/2425747)와 유사하지만 귀하의 자동 찾기 기능이 없습니다. 그리고 나는'System.Net.HttpListener'를 사용하고 있습니다. – Karolis

+1

아! 나는 사건의 대안을 물어 보았습니다. 마임 타입을 얻는 다른 방법은 없습니다 ... 목록은 global.asax를 사용하여 한 번 저장 될 수 있습니다.이 함수가 있습니다. http://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping(v= vs.110) .aspx –