Ich bin damit beschäftigt, einen Handler zu schreiben, der verschiedene Dokumente zum Download oder zur Präsentation auf Webformularseiten bereitstellt. Die Dokumente reichen von verschiedenen Bildformaten über PDF, MS Office-Dokumente bis hin zu generischen Binärdateien. Mein grundlegender Entwurf des Download-Vorgangs ist wie folgt:Inhaltstyp beim Bereitstellen einer Datei in einem generischen Handler
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();
}
Ich habe jedoch einige Bedenken über alle Dokumente zusammen als application/octet-stream
Verklumpen, und ich würde es vorziehen, wenn möglich, einen bestimmten Inhaltstyp pro Dokumenttyp zu verwenden, . Ich habe eine DB-Tabelle für Dokumenttypen, wo ich dies speichern könnte. Gehe ich in die richtige Richtung, und wenn ja, wo finde ich eine geeignete Startliste mit Inhaltstypen für Dokumenttypen?
Große Ressource, danke. – ProfK