Estoy ocupado escribiendo un controlador para servir varios documentos para descarga o presentación en páginas de formularios web. Los documentos van desde varios formatos de imagen, a PDF, a documentos de MS Office, a archivos binarios genéricos. Mi proyecto básico del proceso de descarga es de la siguiente manera:Tipo de contenido al servir un archivo en un manejador genérico
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();
}
Sin embargo, tengo algunas dudas acerca de la formación de grumos todos los documentos juntos como application/octet-stream
, y yo preferiría, si es posible, utilizar un tipo de contenido más específico según el tipo de documento . Tengo una tabla de DB para tipos de documentos donde podría almacenar esto. ¿Estoy yendo en la dirección correcta? De ser así, ¿dónde puedo encontrar una lista de partida adecuada de tipos de contenido para tipos de documentos?
Gran recurso, gracias. – ProfK