Hallo,
ich bin gerade dabei eine methode zu schreiben, das den content.type einer datei bestimmen soll.
ich habe schon das forum durchsucht, ohne erfolg, und kenne den unterschid zw. equals und ==.
jedoch funktioniert keins von beiden:
ich habe schon alles herumprobiert und weiß nicht weiter.
der String ext kommt immer korrekt an, enthält also immer "txt", "jpg" usw...
heraus kommt bei beiden Methoden als ergebnis leider immer null, bzw. "application/octet-stream".
es wäre sehr nett, wenn ihr noch ein paar tipps für mich hättet.
ich bin gerade dabei eine methode zu schreiben, das den content.type einer datei bestimmen soll.
ich habe schon das forum durchsucht, ohne erfolg, und kenne den unterschid zw. equals und ==.
jedoch funktioniert keins von beiden:
ich habe schon alles herumprobiert und weiß nicht weiter.
der String ext kommt immer korrekt an, enthält also immer "txt", "jpg" usw...
heraus kommt bei beiden Methoden als ergebnis leider immer null, bzw. "application/octet-stream".
Java:
/**
* Methode für denn Content Type, wird gegebenenfalls von Response() aufgerufen.
* liefert Content-Type zurück.
*
* @param String ext - Die Dateiendung (extension), zu der der Content-Type bestimmt werden soll
* @return String content - Der Content-Type z.b "Text/plain" usw...
*/
public String getContentType(String ext) {
content = new HashMap<String, String>();
// Liste wie HashMap mit den Dateiendungen und den zugehörgen Content-Types gefüllt werden soll
content.put("html", "text/html");
content.put("htm", "text/html");
content.put("txt", "text/plain");
content.put("php", "text/php");
content.put("java", "text/java");
content.put("gif", "image/gif");
content.put("jpg", "image/jpeg");
content.put("jpeg", "image/jpeg");
content.put(null, "application/octet-stream");
//liest aus der HashMap
String typ = content.get(ext);
if (typ != null)
//gibt Content-Typ zurück
return typ;
else
//falls kein passender ContentTyp gefunden wurde
return "application/octet-stream";
}
Java:
public String getContentType(String ext) {
String content;
ext = ext.toLowerCase();
System.out.println(ext); //<- test was hier wirklich ankommt, ist immer korrekt
//Vergleiche alle extensions
if ( ext.equals("txt") || ext.equals("htm") || ext.equals("html")) {
content = " text/" + ext;
}
else if (ext.equals("gif") || ext.equals("jpg") || ext.equals("jpeg")) {
content = " image/" + ext;
}
else {
content = "application/octet-stream";
}
return content;
}
Zuletzt bearbeitet: