FileMimeTypes
play.api.http.FileMimeTypes
trait FileMimeTypes
Defines behavior for file type mappings.
This trait is primarily used with results and assets that send files, for users who want to send a file without having to specify an explicit content type. For example, a user can send a file with ".json":
implicit val fileMimeTypes = ...
val file = new File("test.json")
Ok.sendFile(file) // <-- uses implicit fileMimeTypes
and have a "json" -> "application/json" mapping done implicitly based off the file extension. The Assets controller handles this mapping automatically.
In a controller, an implicit FileMimeTypes object can either be defined explicitly:
class MyController @Inject()(implicit val fileMimeTypes: FileMimeTypes) extends BaseController {
def sendFile() = ...
}
or, if play.api.mvc.BaseController is extended, then an implicit fileMimeTypes instance is already made available from play.api.mvc.ControllerComponents, meaning that no explicit import is required:
class MyController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
def sendFile() = ...
}
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class DefaultFileMimeTypes
Members list
In this article