skinny.controller.feature

FileUploadFeature

trait FileUploadFeature extends FileUploadSupport

File upload feature.

When using file upload feature, we cannot use SkinnyController(= serlvet Filter) due to Servlet restriction.

// src/main/scala/controller/FileUploadController.scala

class FileUploadController extends SkinnyServlet with FileUploadFeature {
  def form = render("/fileUpload/form")
  def submit = {
    fileParams.get("file") match {
      case Some(file) => println(new String(file.get()))
      case None => println("file not found")
    }
  redirect(url(Controllers.fileUpload.formUrl))
}

// src/main/scala/controller/Controllers.scala

object fileUpload extends FileUploadController with Routes {
  val formUrl = get("/fileupload")(form).as('form)
  val submitUrl = post("/fileupload/submit")(submit).as('submit)
}
fileUpload.mount(ctx)
Self Type
FileUploadFeature with SkinnyMicroServlet
Linear Supertypes
FileUploadSupport, HasMultipartConfig, SkinnyMicroBase, SessionImplicits, DefaultImplicits, LowPriorityImplicits, LowestPriorityImplicits, micro.implicits.TypeConverterSupport, SkinnyMicroParamsImplicits, CookiesImplicits, RouteMatcherImplicits, HaltPassControl, UrlGenerator, ResponseStatusAccessor, ResponseContentTypeAccessor, RequestFormatAccessor, FormParamsAccessor, QueryParamsAccessor, ParamsAccessor, EnvAccessor, ErrorHandlerAccessor, RedirectionDsl, AsyncSupported, Handler, logging.LoggerProvider, ServletContextAccessor, RicherStringImplicits, ServletApiImplicits, RouteRegistryAccessor, UnstableAccessValidationConfig, SkinnyContextInitializer, Initializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FileUploadFeature
  2. FileUploadSupport
  3. HasMultipartConfig
  4. SkinnyMicroBase
  5. SessionImplicits
  6. DefaultImplicits
  7. LowPriorityImplicits
  8. LowestPriorityImplicits
  9. TypeConverterSupport
  10. SkinnyMicroParamsImplicits
  11. CookiesImplicits
  12. RouteMatcherImplicits
  13. HaltPassControl
  14. UrlGenerator
  15. ResponseStatusAccessor
  16. ResponseContentTypeAccessor
  17. RequestFormatAccessor
  18. FormParamsAccessor
  19. QueryParamsAccessor
  20. ParamsAccessor
  21. EnvAccessor
  22. ErrorHandlerAccessor
  23. RedirectionDsl
  24. AsyncSupported
  25. Handler
  26. LoggerProvider
  27. ServletContextAccessor
  28. RicherStringImplicits
  29. ServletApiImplicits
  30. RouteRegistryAccessor
  31. UnstableAccessValidationConfig
  32. SkinnyContextInitializer
  33. Initializable
  34. AnyRef
  35. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Config extends AnyRef

    Definition Classes
    Initializable
  2. abstract type ConfigT <: AnyRef { ... /* 3 definitions in type refinement */ }

    Definition Classes
    ServletContextAccessor → Initializable
  3. sealed class TypedMultiParams extends AnyRef

    Definition Classes
    SkinnyMicroParamsImplicits
  4. sealed class TypedParams extends AnyRef

    Definition Classes
    SkinnyMicroParamsImplicits

Abstract Value Members

  1. abstract val doNotFound: () ⇒ Any

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  2. abstract def requestPath(implicit ctx: SkinnyContext): String

    Definition Classes
    SkinnyMicroBase
  3. abstract def routeBasePath(implicit ctx: SkinnyContext): String

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. implicit val anyToBoolean: micro.implicits.TypeConverter[Any, Boolean]

    Definition Classes
    LowPriorityImplicits
  7. implicit val anyToByte: micro.implicits.TypeConverter[Any, Byte]

    Definition Classes
    LowPriorityImplicits
  8. implicit val anyToDouble: micro.implicits.TypeConverter[Any, Double]

    Definition Classes
    LowPriorityImplicits
  9. implicit val anyToFloat: micro.implicits.TypeConverter[Any, Float]

    Definition Classes
    LowPriorityImplicits
  10. implicit val anyToInt: micro.implicits.TypeConverter[Any, Int]

    Definition Classes
    LowPriorityImplicits
  11. implicit val anyToLong: micro.implicits.TypeConverter[Any, Long]

    Definition Classes
    LowPriorityImplicits
  12. implicit val anyToShort: micro.implicits.TypeConverter[Any, Short]

    Definition Classes
    LowPriorityImplicits
  13. implicit val anyToString: micro.implicits.TypeConverter[Any, String]

    Definition Classes
    LowPriorityImplicits
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. implicit def booleanBlock2RouteMatcher(block: ⇒ Boolean): RouteMatcher

    Attributes
    protected
    Definition Classes
    RouteMatcherImplicits
  16. lazy val charset: Option[String]

    Definition Classes
    SkinnyMicroBase
  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. var config: (FileUploadFeature.this)#ConfigT

    Definition Classes
    ServletContextAccessor
  19. implicit def configWrapper(config: (FileUploadFeature.this)#ConfigT): (FileUploadFeature.this)#Config { object initParameters }

    Attributes
    protected
    Definition Classes
    ServletContextAccessor → Initializable
  20. def configureMultipartHandling(config: MultipartConfig): Unit

    Definition Classes
    HasMultipartConfig
  21. def contentType(implicit ctx: SkinnyContext): String

    Definition Classes
    ResponseContentTypeAccessor
  22. def contentTypeInferrer: ContentTypeInferrer

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  23. def contentType_=(contentType: String)(implicit ctx: SkinnyContext): Unit

    Definition Classes
    ResponseContentTypeAccessor
  24. def context: SkinnyContext

    Definition Classes
    SkinnyContextInitializer
  25. def contextPath: String

    Definition Classes
    ServletContextAccessor
  26. implicit def cookieOptions(implicit ctx: SkinnyContext): CookieOptions

    Definition Classes
    CookiesImplicits
  27. def cookies(implicit ctx: SkinnyContext): SweetCookies

    Definition Classes
    CookiesImplicits
  28. def currentErrorHandler: ErrorHandler

    Attributes
    protected
    Definition Classes
    ErrorHandlerAccessor
  29. val defaultCharacterEncoding: String

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  30. implicit def defaultStringToSeq[T](implicit elementConverter: micro.implicits.TypeConverter[String, T], mf: Manifest[T]): micro.implicits.TypeConverter[String, Seq[T]]

    Definition Classes
    DefaultImplicits
  31. def detectTooManyErrorFilterRegistrationAsAnErrorAtSkinnyMicroBase: Boolean

    Attributes
    protected
    Definition Classes
    ErrorHandlerAccessor
  32. implicit def enrichRequest(request: HttpServletRequest): RichRequest

    Definition Classes
    ServletApiImplicits
  33. implicit def enrichResponse(response: HttpServletResponse): RichResponse

    Definition Classes
    ServletApiImplicits
  34. implicit def enrichServletContext(servletContext: javax.servlet.ServletContext): RichServletContext

    Definition Classes
    ServletApiImplicits
  35. implicit def enrichSession(session: HttpSession): RichHttpServletSession

    Definition Classes
    ServletApiImplicits
  36. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  38. def error(handler: ErrorHandler): Unit

    Definition Classes
    ErrorHandlerAccessor
  39. def executeRoutes(request: HttpServletRequest, response: HttpServletResponse): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  40. implicit def executionContext: ExecutionContext

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  41. def fileMultiParams(key: String)(implicit ctx: SkinnyContext): Seq[FileItem]

    Definition Classes
    FileUploadSupport
  42. def fileMultiParams(implicit ctx: SkinnyContext): FileMultiParams

    Definition Classes
    FileUploadSupport
  43. def fileParams(key: String)(implicit ctx: SkinnyContext): FileItem

    Definition Classes
    FileUploadSupport
  44. def fileParams(implicit ctx: SkinnyContext): MultiMapHeadView[String, FileItem]

    Definition Classes
    FileUploadSupport
  45. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  46. def formMultiParams(implicit ctx: SkinnyContext): micro.MultiParams

    Definition Classes
    FormParamsAccessor
  47. def formParams(implicit ctx: SkinnyContext): micro.Params

    Definition Classes
    FormParamsAccessor
  48. def format_=(formatValue: String)(implicit ctx: SkinnyContext): Unit

    Definition Classes
    RequestFormatAccessor
  49. def fullUrl(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean, withSessionId: Boolean)(implicit ctx: SkinnyContext): String

    Definition Classes
    UrlGenerator
  50. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  51. def halt(result: ActionResult): Nothing

    Definition Classes
    HaltPassControl
  52. def halt[T](status: Integer, body: T, headers: Map[String, String], reason: String)(implicit arg0: Manifest[T]): Nothing

    Definition Classes
    HaltPassControl
  53. def handle(req: HttpServletRequest, res: HttpServletResponse): Unit

    Definition Classes
    FileUploadSupport → SkinnyMicroBase → Handler
  54. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  55. def initParameter(name: String): Option[String]

    Definition Classes
    ServletContextAccessor
  56. def initialize(config: (FileUploadFeature.this)#ConfigT): Unit

    Definition Classes
    HasMultipartConfig → Initializable
  57. def invoke(matchedRoute: MatchedRoute): Option[Any]

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  58. def isAsyncExecutable(result: Any): Boolean

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  59. def isDevelopment(): Boolean

    Attributes
    protected
    Definition Classes
    EnvAccessor
  60. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  61. def isProduction(): Boolean

    Attributes
    protected
    Definition Classes
    EnvAccessor
  62. def isSizeConstraintException(e: Exception): Boolean

    Attributes
    protected
    Definition Classes
    FileUploadSupport
  63. def isStaging(): Boolean

    Attributes
    protected
    Definition Classes
    EnvAccessor
  64. def isTest(): Boolean

    Attributes
    protected
    Definition Classes
    EnvAccessor
  65. def logger: Logger

    Attributes
    protected
    Definition Classes
    LoggerProvider
  66. def loggerName: String

    Attributes
    protected
    Definition Classes
    LoggerProvider
  67. implicit def lowestPriorityAny2T[T](implicit arg0: Manifest[T]): micro.implicits.TypeConverter[Any, T]

    Definition Classes
    LowestPriorityImplicits
  68. def maxDurationToAwaitAsyncFilters: Duration

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  69. def methodNotAllowed(f: (Set[HttpMethod]) ⇒ Any): Unit

    Definition Classes
    SkinnyMicroBase
  70. def mount(ctx: javax.servlet.ServletContext): Unit

    Definition Classes
    Handler
  71. def multiParams(key: String)(implicit ctx: SkinnyContext): Seq[String]

    Definition Classes
    ParamsAccessor
  72. def multiParams(implicit ctx: SkinnyContext): micro.MultiParams

    Definition Classes
    ParamsAccessor
  73. def multipartConfig: MultipartConfig

    Definition Classes
    HasMultipartConfig
  74. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  75. def notFound(fun: ⇒ Any): Unit

    Definition Classes
    SkinnyMicroBase
  76. final def notify(): Unit

    Definition Classes
    AnyRef
  77. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  78. def params(implicit ctx: SkinnyContext): micro.Params

    Definition Classes
    ParamsAccessor
  79. def params(key: Symbol)(implicit ctx: SkinnyContext): String

    Definition Classes
    ParamsAccessor
  80. def params(key: String)(implicit ctx: SkinnyContext): String

    Definition Classes
    ParamsAccessor
  81. def pass(): Nothing

    Definition Classes
    HaltPassControl
  82. implicit def pathPatternParser2RouteMatcher(pattern: PathPattern): RouteMatcher

    Attributes
    protected
    Definition Classes
    RouteMatcherImplicits
  83. def queryMultiParams(implicit ctx: SkinnyContext): micro.MultiParams

    Definition Classes
    QueryParamsAccessor
  84. def queryParams(implicit ctx: SkinnyContext): micro.Params

    Definition Classes
    QueryParamsAccessor
  85. def redirect(uri: String)(implicit ctx: SkinnyContext): ActionResult

    Definition Classes
    RedirectionDsl
  86. def redirect301(location: String, headers: Map[String, String])(implicit ctx: SkinnyContext): ActionResult

    Definition Classes
    RedirectionDsl
  87. def redirect302(location: String, headers: Map[String, String])(implicit ctx: SkinnyContext): ActionResult

    Definition Classes
    RedirectionDsl
  88. def redirect303(location: String, headers: Map[String, String])(implicit ctx: SkinnyContext): ActionResult

    Definition Classes
    RedirectionDsl
  89. implicit def regex2RouteMatcher(regex: Regex): RouteMatcher

    Attributes
    protected
    Definition Classes
    RouteMatcherImplicits
  90. def relativeUrl(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean)(implicit ctx: SkinnyContext): String

    Definition Classes
    UrlGenerator
  91. def removeRoute(method: String, route: Route): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  92. def removeRoute(method: HttpMethod, route: Route): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  93. def renderResponse(actionResult: Any)(implicit ctx: SkinnyContext): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  94. def renderResponseBody(actionResult: Any)(implicit ctx: SkinnyContext): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  95. def renderUncaughtException(e: Throwable)(implicit ctx: SkinnyContext): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  96. def request(implicit ctx: SkinnyContext): HttpServletRequest

    Definition Classes
    SkinnyContextInitializer
  97. def respondTo: Seq[micro.Format]

    Attributes
    protected
    Definition Classes
    Handler
  98. def response(implicit ctx: SkinnyContext): HttpServletResponse

    Definition Classes
    SkinnyContextInitializer
  99. lazy val routes: RouteRegistry

    Definition Classes
    RouteRegistryAccessor
  100. implicit def safe[S, T](f: (S) ⇒ T): micro.implicits.TypeConverter[S, T]

    Definition Classes
    TypeConverterSupport
  101. implicit def safeOption[S, T](f: (S) ⇒ Option[T]): micro.implicits.TypeConverter[S, T]

    Definition Classes
    TypeConverterSupport
  102. implicit def seqHead[T](implicit elementConverter: micro.implicits.TypeConverter[String, T], mf: Manifest[T]): micro.implicits.TypeConverter[Seq[String], T]

    Definition Classes
    DefaultImplicits
  103. implicit def seqToSeq[T](implicit elementConverter: micro.implicits.TypeConverter[String, T], mf: Manifest[T]): micro.implicits.TypeConverter[Seq[String], Seq[T]]

    Definition Classes
    DefaultImplicits
  104. def serverAuthority(implicit ctx: SkinnyContext): String

    Attributes
    protected
    Definition Classes
    ServletContextAccessor
  105. def serverHost(implicit ctx: SkinnyContext): String

    Definition Classes
    ServletContextAccessor
  106. def serverPort(implicit ctx: SkinnyContext): Int

    Definition Classes
    ServletContextAccessor
  107. implicit def servletContext: javax.servlet.ServletContext

    Definition Classes
    ServletContextAccessor
  108. def session(key: Symbol)(implicit ctx: SkinnyContext): Any

    Definition Classes
    SessionImplicits
  109. def session(key: String)(implicit ctx: SkinnyContext): Any

    Definition Classes
    SessionImplicits
  110. implicit def session(implicit ctx: SkinnyContext): HttpSession

    Definition Classes
    SessionImplicits
  111. def sessionOption(implicit ctx: SkinnyContext): Option[HttpSession]

    Definition Classes
    SessionImplicits
  112. def setMultiparams[S](matchedRoute: Option[MatchedRoute], originalParams: micro.MultiParams)(implicit ctx: SkinnyContext): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  113. def setRequestCharacterEncodingAsDefaultIfAbsent(request: HttpServletRequest): Unit

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase
  114. def shutdown(): Unit

    Attributes
    protected
    Definition Classes
    Initializable
  115. def skinnyContext(implicit ctx: javax.servlet.ServletContext): SkinnyContext

    Definition Classes
    SkinnyContextInitializer
  116. def skinnyEnv: Option[String]

    Attributes
    protected
    Definition Classes
    EnvAccessor
  117. def skipHaltingWhenRedirection: Boolean

    Attributes
    protected
    Definition Classes
    RedirectionDsl
  118. def status(implicit ctx: SkinnyContext): Int

    Definition Classes
    ResponseStatusAccessor
  119. def status_=(code: Int)(implicit ctx: SkinnyContext): Unit

    Definition Classes
    ResponseStatusAccessor
  120. implicit def string2RouteMatcher(path: String): RouteMatcher

    Attributes
    protected
    Definition Classes
    RouteMatcherImplicits
  121. implicit val stringToBoolean: micro.implicits.TypeConverter[String, Boolean]

    Definition Classes
    DefaultImplicits
  122. implicit val stringToByte: micro.implicits.TypeConverter[String, Byte]

    Definition Classes
    DefaultImplicits
  123. def stringToDate(format: ⇒ String): micro.implicits.TypeConverter[String, Date]

    Definition Classes
    DefaultImplicits
  124. def stringToDateFormat(format: ⇒ DateFormat): micro.implicits.TypeConverter[String, Date]

    Definition Classes
    DefaultImplicits
  125. implicit val stringToDouble: micro.implicits.TypeConverter[String, Double]

    Definition Classes
    DefaultImplicits
  126. implicit val stringToFloat: micro.implicits.TypeConverter[String, Float]

    Definition Classes
    DefaultImplicits
  127. implicit val stringToInt: micro.implicits.TypeConverter[String, Int]

    Definition Classes
    DefaultImplicits
  128. implicit val stringToLong: micro.implicits.TypeConverter[String, Long]

    Definition Classes
    DefaultImplicits
  129. implicit def stringToRicherString(s: String): RicherString

    Definition Classes
    RicherStringImplicits
  130. implicit val stringToSelf: micro.implicits.TypeConverter[String, String]

    Definition Classes
    DefaultImplicits
  131. def stringToSeq[T](elementConverter: micro.implicits.TypeConverter[String, T], separator: String)(implicit arg0: Manifest[T]): micro.implicits.TypeConverter[String, Seq[T]]

    Definition Classes
    DefaultImplicits
  132. implicit val stringToShort: micro.implicits.TypeConverter[String, Short]

    Definition Classes
    DefaultImplicits
  133. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  134. def toString(): String

    Definition Classes
    AnyRef → Any
  135. implicit def toTypedMultiParams(params: micro.MultiParams): (FileUploadFeature.this)#TypedMultiParams

    Definition Classes
    SkinnyMicroParamsImplicits
  136. implicit def toTypedParams(params: micro.Params): (FileUploadFeature.this)#TypedParams

    Definition Classes
    SkinnyMicroParamsImplicits
  137. def unstableAccessValidationEnabled: Boolean

    Attributes
    protected
    Definition Classes
    UnstableAccessValidationConfig
  138. def url(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean, absolutize: Boolean)(implicit ctx: SkinnyContext): String

    Definition Classes
    UrlGenerator
  139. def useMostlyStableHttpSession: Boolean

    Attributes
    protected
    Definition Classes
    UnstableAccessValidationConfig
  140. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  141. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  142. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  143. def withRequest[A](request: HttpServletRequest)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    SkinnyContextInitializer
  144. def withRequestResponse[A](request: HttpServletRequest, response: HttpServletResponse)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    SkinnyContextInitializer
  145. def withResponse[A](response: HttpServletResponse)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    SkinnyContextInitializer
  146. def withRouteMultiParams[S](matchedRoute: Option[MatchedRoute])(thunk: ⇒ S): S

    Attributes
    protected
    Definition Classes
    SkinnyMicroBase

Inherited from FileUploadSupport

Inherited from HasMultipartConfig

Inherited from SkinnyMicroBase

Inherited from SessionImplicits

Inherited from DefaultImplicits

Inherited from LowPriorityImplicits

Inherited from LowestPriorityImplicits

Inherited from micro.implicits.TypeConverterSupport

Inherited from SkinnyMicroParamsImplicits

Inherited from CookiesImplicits

Inherited from RouteMatcherImplicits

Inherited from HaltPassControl

Inherited from UrlGenerator

Inherited from ResponseStatusAccessor

Inherited from ResponseContentTypeAccessor

Inherited from RequestFormatAccessor

Inherited from FormParamsAccessor

Inherited from QueryParamsAccessor

Inherited from ParamsAccessor

Inherited from EnvAccessor

Inherited from ErrorHandlerAccessor

Inherited from RedirectionDsl

Inherited from AsyncSupported

Inherited from Handler

Inherited from logging.LoggerProvider

Inherited from ServletContextAccessor

Inherited from RicherStringImplicits

Inherited from ServletApiImplicits

Inherited from RouteRegistryAccessor

Inherited from UnstableAccessValidationConfig

Inherited from SkinnyContextInitializer

Inherited from Initializable

Inherited from AnyRef

Inherited from Any

Ungrouped