Тип содержимого при обслуживании файла в универсальном обработчике

Я занят написанием обработчика для обслуживания различных документов для загрузки или представления на страницах веб-форм. Документы варьируются от различных форматов изображений до PDF, документов MS Office и общих двоичных файлов. Мой базовый черновик процесса загрузки выглядит следующим образом:

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();
}

Однако у меня есть некоторые опасения по поводу объединения всех документов вместе как application / octet-stream , и я бы предпочел, если это возможно, использовать более конкретный тип контента для каждого типа документа. У меня есть таблица БД для типов документов, где я мог бы это хранить. В правильном ли направлении я иду, и если да, то где мне найти подходящий начальный список типов контента для типов документов?

10
задан ProfK 10 December 2010 в 05:15
поделиться