接口/枚举列出标准的mime类型常量

Ble*_*eek 110 java gwt content-type guava mime-types

我正在查找标准库(如apache commons,jax,jboss,javax)中的接口或枚举列出所有标准mime类型(aka内容类型)的值.

这个接口不应该与其他类太深,以至于难以将整个串包含为gwt源代码.

例如

interface ContentType{
  String JSON = "Application/JSON";
  blah ... blah ...
}
Run Code Online (Sandbox Code Playgroud)

要么,

enum ContentType{
  JSON("Application/JSON"),
  blah ... blah ...
}
Run Code Online (Sandbox Code Playgroud)

Ray*_*yek 78

来自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                    "*/*"
Run Code Online (Sandbox Code Playgroud)


Fab*_*ney 64

我们有一个番石榴类此:com.google.common.net.MediaType.

它与源代码和问题823中所述的Guava 12一起发布.资料来源也可以.

  • 遗憾的是,`com.google.common.net.MediaType`中没有定义String常量,因为`MediaType.toString()`不是编译时常量,因此无法在注释中使用 (5认同)

And*_*ejs 63

如果您使用的是Spring Framework,那么有一个适用于常见内容类型的MediaType类:

MediaType.TEXT_HTML 
MediaType.TEXT_PLAIN 
MediaType.TEXT_XML 
MediaType.APPLICATION_JSON 
MediaType.IMAGE_JPEG 
...
Run Code Online (Sandbox Code Playgroud)

  • 这对我很有用,但我需要使用MediaType.foo_VALUE部分.每个类都有一个对应的_VALUE即String. (7认同)
  • 在您需要“application/zip”常量之前,这一切都很好。该类没有“APPLICATION_ZIP” (4认同)

Ove*_*low 14

现在还有org.apache.http.entity.ContentType包中的类org.apache.httpcomponents.httpcore,从4.2开始.

  • 我使用它直到我需要 `application/pdf` mime 类型。不幸的是,这个类没有 pdf 常量:( (3认同)

Fra*_*ier 13

javax.ws.rs.core.MediaType来自JAX-RS


Max*_*Max 6

Java 7来救援!

您可以传递文件或文件名,它将返回MIME类型.

String mimeType = MimetypesFileTypeMap
    .getDefaultFileTypeMap()
    .getContentType(attachment.getFileName());
Run Code Online (Sandbox Code Playgroud)

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

  • 但是,这并不枚举存在的MIME类型. (5认同)