Der ServletContext bietet die Methode getMimeType(zusendendeDatei), die anhand der Dateiendung den MIME Type ermittelt. Die ist jedoch nicht besonders hilfreich, wenn die Datei dynamisch erzeugt wird. Man könnte den MIME Type bei jeder Response von Hand setzen. Ich suche einen Weg, wie man das automatisieren kann.
Bei Spring MVC kann man den MIME Type für alle Vorlagendaten (z. B. FreeMarker-Templates) global auf etwa "text/html" setzen. Aber so ein Template könnte ja genauso gut eine Textdatei, ein XML-Dokument, JSON oder sonst irgendwas sein. Wie könnte man den MIME-Type automatisch ermitteln?
Ich habe drei Ideen, wie man das machen könnte:
* Der Endung der Template-Datei, wie ".ftl" für "FreeMarker Template", wird noch der eigentliche Typ vorangestellt. Also etwa "datei.text.ftl" und "datei.html.ftl".
* Verzeichnisnamen wie "txt/datei.ftl" und "html/datei.ftl"
* Speicherung des MIME-Typen in einer extra Datei wie "datei.mime", die enthielte dann z. B. "text/html".
Wenn aus dem Template die fertige Datei erzeugt wird, würde jeweils der MIME-Type aus dem Dateinamen bzw. der separaten Datei ermittelt.
Fällt euch noch was besseres ein?
Bei Spring MVC kann man den MIME Type für alle Vorlagendaten (z. B. FreeMarker-Templates) global auf etwa "text/html" setzen. Aber so ein Template könnte ja genauso gut eine Textdatei, ein XML-Dokument, JSON oder sonst irgendwas sein. Wie könnte man den MIME-Type automatisch ermitteln?
Ich habe drei Ideen, wie man das machen könnte:
* Der Endung der Template-Datei, wie ".ftl" für "FreeMarker Template", wird noch der eigentliche Typ vorangestellt. Also etwa "datei.text.ftl" und "datei.html.ftl".
* Verzeichnisnamen wie "txt/datei.ftl" und "html/datei.ftl"
* Speicherung des MIME-Typen in einer extra Datei wie "datei.mime", die enthielte dann z. B. "text/html".
Wenn aus dem Template die fertige Datei erzeugt wird, würde jeweils der MIME-Type aus dem Dateinamen bzw. der separaten Datei ermittelt.
Fällt euch noch was besseres ein?