spring-framework / org.springframework.mail.javamail / ConfigurableMimeFileTypeMap

ConfigurableMimeFileTypeMap

open class ConfigurableMimeFileTypeMap : FileTypeMap, InitializingBean

Spring-configurable FileTypeMap implementation that will read MIME type to file extension mappings from a standard JavaMail MIME type mapping file, using a standard MimetypesFileTypeMap underneath.

The mapping file should be in the following format, as specified by the Java Activation Framework:

 # map text/html to .htm and .html files text/html html htm HTML HTM
Lines starting with # are treated as comments and are ignored. All other lines are treated as mappings. Each mapping line should contain the MIME type as the first entry and then each file extension to map to that MIME type as subsequent entries. Each entry is separated by spaces or tabs.

By default, the mappings in the mime.types file located in the same package as this class are used, which cover many common file extensions (in contrast to the out-of-the-box mappings in activation.jar). This can be overridden using the mappingLocation property.

Additional mappings can be added via the mappings bean property, as lines that follow the mime.types file format.

Author
Rob Harrop

Author
Juergen Hoeller

Since
1.2

See Also
#setMappingLocation#setMappingsjavax.activation.MimetypesFileTypeMap

Constructors

<init>

ConfigurableMimeFileTypeMap()

Spring-configurable FileTypeMap implementation that will read MIME type to file extension mappings from a standard JavaMail MIME type mapping file, using a standard MimetypesFileTypeMap underneath.

The mapping file should be in the following format, as specified by the Java Activation Framework:

 # map text/html to .htm and .html files text/html html htm HTML HTM
Lines starting with # are treated as comments and are ignored. All other lines are treated as mappings. Each mapping line should contain the MIME type as the first entry and then each file extension to map to that MIME type as subsequent entries. Each entry is separated by spaces or tabs.

By default, the mappings in the mime.types file located in the same package as this class are used, which cover many common file extensions (in contrast to the out-of-the-box mappings in activation.jar). This can be overridden using the mappingLocation property.

Additional mappings can be added via the mappings bean property, as lines that follow the mime.types file format.

Functions

afterPropertiesSet

open fun afterPropertiesSet(): Unit

Creates the final merged mapping set.

getContentType

open fun getContentType(file: File): String
open fun getContentType(fileName: String): String

Delegates to the underlying FileTypeMap.

setMappingLocation

open fun setMappingLocation(mappingLocation: Resource): Unit

Specify the Resource from which mappings are loaded.

Needs to follow the mime.types file format, as specified by the Java Activation Framework, containing lines such as: text/html html htm HTML HTM

setMappings

open fun setMappings(vararg mappings: String): Unit

Specify additional MIME type mappings as lines that follow the mime.types file format, as specified by the Java Activation Framework, for example: text/html html htm HTML HTM