Я ищу среди стандартных библиотек (например, apache commons, jax, jboss, javax) интерфейс или перечисление, в котором перечислены значения всех стандартных mime-типов (также известных как content-type).
Этот интерфейс не должен быть слишком загроможден другими классами, что затруднило бы включение всей группы в качестве исходного кода gwt.
например
interface ContentType{
String JSON = "Application/JSON";
blah ... blah ...
}
или,
enum ContentType{
JSON("Application/JSON"),
blah ... blah ...
}
java
gwt
mime-types
content-type
guava
Благословенный Компьютерщик
источник
источник
Ответы:
Библиотека гуавы
У нас есть Guava класс для этого:
com.google.common.net.MediaType
.Он был выпущен с Guava 12, как указано в исходном коде и в Выпуске 823 . Источники тоже доступны.
источник
com.google.common.net.MediaType
, поскольку ониMediaType.toString()
не являются константой времени компиляции и поэтому не могут использоваться в аннотацияхС https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/MediaType.html :
источник
Если вы используете Spring Framework, существует класс MediaType для общих типов контента:
источник
APPLICATION_ZIP
Теперь есть класс
org.apache.http.entity.ContentType
из пакетаorg.apache.httpcomponents.httpcore
, начиная с версии 4.2 и выше.источник
application/pdf
пантомима. К сожалению, у этого класса нет константы для pdf :(javax.ws.rs.core.MediaType
из JAX-RSисточник
Java 7 спешит на помощь!
Вы можете передать файл или имя файла, и он вернет тип MIME.
http://docs.oracle.com/javase/7/docs/api/javax/activation/MimetypesFileTypeMap.html
источник
Также есть
MediaType
класс в аннотациях android на случай, если вы хотите использовать их с android! Смотрите здесь .источник
Если вы используете Android, у вас есть несколько вариантов, из которых только первый является своего рода «перечислением»:
HTTP
(который устарел в API 22), например,HTTP.PLAIN_TEXT_TYPE
илиMimeTypeMap
, напримерfinal String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
См. также
FileProvider.getType()
.URLConnection
который предоставляет следующие методы:guessContentTypeFromStream(InputStream is)
guessContentTypeFromName(String url)
getFileNameMap()
Например
источник
Как указано в ответе выше, вы можете использовать
javax.ws.rs.core.MediaType
which с необходимыми константами.Я также хотел поделиться действительно классной и удобной ссылкой, которую я нашел, которая дает ссылку на все константы Javax в одном месте - https://docs.oracle.com/javaee/7/api/constant-values.html .
источник
Я решил это с помощью статического класса:
источник
Как уже было опубликовано в предыдущем ответе, наиболее распространенные типы MIME настраиваются на веб-сервере. Например, в tomcat conf / у нас есть web.xml со следующим настроенным MIME:
Создайте прослушиватель запуска, который запускается при запуске веб-приложения, анализирует этот XML-файл, создает для вас ENUMS и связывает его с контекстом сервлета для совместного использования в нисходящем направлении.
источник