wake-up-neo.com

Interface/Enum, das Standardkonstanten vom Typ Mime auflistet

Ich suche in den Standardbibliotheken (wie Apache Commons, Jax, Jboss, Javax) nach einer Schnittstelle oder einem Enum, die die Werte aller Standard-Mime-Typen (aka Inhaltstypen) aufführt.

Diese Schnittstelle sollte nicht zu tief mit anderen Klassen belastet werden, die die Aufnahme des gesamten Bündels als gwt-Quellcode erschweren würden.

zum Beispiel

interface ContentType{
  String JSON = "Application/JSON";
  blah ... blah ...
}

oder,

enum ContentType{
  JSON("Application/JSON"),
  blah ... blah ...
}
96
Blessed Geek

Wir haben eine Guava -Klasse dafür: com.google.common.net.MediaType .

Es wurde mit Guava 12 veröffentlicht, wie im Quellcode und in Ausgabe 823 angegeben. Quellen sind ebenfalls verfügbar.

58
Fabian Barney

Von https://docs.Oracle.com/javaee/7/api/javax/ws/rs/core/MediaType.html :

staticjava.lang.String APPLICATION_ATOM_XML             "application/atom+xml"
staticMediaType        APPLICATION_ATOM_XML_TYPE        "application/atom+xml"
staticjava.lang.String APPLICATION_FORM_URLENCODED      "application/x-www-form-urlencoded"
staticMediaType        APPLICATION_FORM_URLENCODED_TYPE "application/x-www-form-urlencoded"
staticjava.lang.String APPLICATION_JSON                 "application/json"
staticMediaType        APPLICATION_JSON_TYPE            "application/json"
staticjava.lang.String APPLICATION_OCTET_STREAM         "application/octet-stream"
staticMediaType        APPLICATION_OCTET_STREAM_TYPE    "application/octet-stream"
staticjava.lang.String APPLICATION_SVG_XML              "application/svg+xml"
staticMediaType        APPLICATION_SVG_XML_TYPE         "application/svg+xml"
staticjava.lang.String APPLICATION_XHTML_XML            "application/xhtml+xml"
staticMediaType        APPLICATION_XHTML_XML_TYPE       "application/xhtml+xml"
staticjava.lang.String APPLICATION_XML                  "application/xml"
staticMediaType        APPLICATION_XML_TYPE             "application/xml"
staticjava.lang.String MEDIA_TYPE_WILDCARD              The value of a type or subtype wildcard: "*"
staticjava.lang.String MULTIPART_FORM_DATA              "multipart/form-data"
staticMediaType        MULTIPART_FORM_DATA_TYPE         "multipart/form-data"
staticjava.lang.String TEXT_HTML                        "text/html"
staticMediaType        TEXT_HTML_TYPE                   "text/html"
staticjava.lang.String TEXT_PLAIN                       "text/plain"
staticMediaType        TEXT_PLAIN_TYPE                  "text/plain"
staticjava.lang.String TEXT_XML                         "text/xml"
staticMediaType        TEXT_XML_TYPE                    "text/xml"
staticjava.lang.String WILDCARD                         "*/*"
staticMediaType        WILDCARD_TYPE                    "*/*"
68
Ray Tayek

Wenn Sie Spring Framework verwenden, gibt es eine MediaType -Klasse für gängige Inhaltstypen:

    MediaType.TEXT_HTML 
    MediaType.TEXT_PLAIN 
    MediaType.TEXT_XML 
    MediaType.APPLICATION_JSON 
    MediaType.IMAGE_JPEG 
    ...
54
Andrejs

Es gibt jetzt auch die Klasse org.Apache.http.entity.ContentType aus dem Paket org.Apache.httpcomponents.httpcore, beginnend mit 4.2.

13
Overflow

javax.ws.rs.core.MediaType von JAX-RS

11

Java 7 zur Rettung!

Sie können entweder die Datei oder den Dateinamen übergeben, und der MIME-Typ wird zurückgegeben.

String mimeType = MimetypesFileTypeMap
    .getDefaultFileTypeMap()
    .getContentType(attachment.getFileName());

http://docs.Oracle.com/javase/7/docs/api/javax/activation/MimetypesFileTypeMap.html

6
Max

Es gibt auch eine MediaType-Klasse in androidannotations für den Fall, dass Sie Android verwenden möchten! Siehe hier .

4

Wenn Sie auf Android) sind, haben Sie mehrere Möglichkeiten, wobei nur die erste eine Art "Aufzählung" ist:

Zum Beispiel

@Override
public String getType(Uri uri) {
    return URLConnection.getFileNameMap().getContentTypeFor(
            uri.getLastPathSegment());
}
1
schnatterer

Wie aus einer Antwort oben hervorgeht, können Sie javax.ws.rs.core.MediaType verwenden, der die erforderlichen Konstanten hat. 

Ich wollte auch einen wirklich coolen und praktischen Link teilen, den ich gefunden habe und der einen Verweis auf alle Javax-Konstanten an einer Stelle gibt - https://docs.Oracle.com/javaee/7/api/constant-values.html .

0
Anurag