2010-12-10 2 views
8

웹 양식 페이지에서 다운로드 또는 프리젠 테이션을 위해 다양한 문서를 처리하는 처리기를 작성하는 중입니다. 이 문서는 다양한 이미지 형식에서부터 PDF, MS Office 문서, 일반적인 바이너리에 이르기까지 다양합니다. 내가 application/octet-stream으로 함께 모든 문서를 덩어리에 대한 몇 가지 의혹을 가지고, 그러나일반 처리기에서 파일을 처리 할 때 콘텐츠 유형

public void ProcessRequest(HttpContext context) 
{ 
    var docUrl = context.Request["docUrl"]; 
    if (string.IsNullOrEmpty(docUrl)) { 
     context.Response.End(); 
     return; 
    } 
    var docPath = context.Server.MapPath(docUrl); 
    var docInfo = new FileInfo(docPath); 

    context.Response.Clear(); 
    context.Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(docPath)); 
    context.Response.AddHeader("Content-Length", docInfo.Length.ToString()); 
    context.Response.ContentType = "application/octet-stream"; 
    context.Response.WriteFile(docPath); 
    context.Response.End(); 
} 

하고, 가능하면 나는 문서 유형에 따라보다 구체적인 콘텐츠 형식을 사용하려면, 선호 : 다운로드 프로세스 내 기본 초안은 다음과 같습니다 . 내가 저장할 수있는 문서 유형에 대한 DB 테이블이 있습니다. 올바른 방향으로 가고 있습니까, 그렇다면 문서 유형에 적합한 콘텐츠 유형의 시작 목록을 어디에서 찾을 수 있습니까?

답변

17

application/octet-stream은 파일 다운로드에 적합하지만 브라우저에서 파일과 상호 작용하도록하려면 콘텐츠 유형을 변경해야 할 수 있습니다.

예를 들어, PDF 파일을 다운로드하는 MIME 유형은 application/octet-stream이고 application/pdf은 브라우저에서 파일을 열어 보도록 브라우저에 지시합니다.

http://en.wikipedia.org/wiki/Internet_media_type

+0

감사합니다. – ProfK