Я занят написанием обработчика для обслуживания различных документов для загрузки или представления на страницах веб-форм. Документы варьируются от различных форматов изображений до 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
, и я бы предпочел, если это возможно, использовать более конкретный тип контента для каждого типа документа. У меня есть таблица БД для типов документов, где я мог бы это хранить. В правильном ли направлении я иду, и если да, то где мне найти подходящий начальный список типов контента для типов документов?