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 ScalatraServlet
Linear Supertypes
FileUploadSupport, HasMultipartConfig, ServletBase, ScalatraBase, CookieSupport, DefaultImplicitConversions, LowPriorityImplicitConversions, LowestPriorityImplicitConversions, org.scalatra.util.conversion.TypeConverterSupport, ScalatraParamsImplicits, Initializable, DynamicScope, RequestResponseScope, CoreDsl, Control, Handler, ScalatraContext, CookieContext, SessionSupport, ServletApiImplicits, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FileUploadFeature
  2. FileUploadSupport
  3. HasMultipartConfig
  4. ServletBase
  5. ScalatraBase
  6. CookieSupport
  7. DefaultImplicitConversions
  8. LowPriorityImplicitConversions
  9. LowestPriorityImplicitConversions
  10. TypeConverterSupport
  11. ScalatraParamsImplicits
  12. Initializable
  13. DynamicScope
  14. RequestResponseScope
  15. CoreDsl
  16. Control
  17. Handler
  18. ScalatraContext
  19. CookieContext
  20. SessionSupport
  21. ServletApiImplicits
  22. AnyRef
  23. 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
    ServletBase → Initializable
  3. sealed class TypedMultiParams extends AnyRef

    Definition Classes
    ScalatraParamsImplicits
  4. sealed class TypedParams extends AnyRef

    Definition Classes
    ScalatraParamsImplicits

Abstract Value Members

  1. abstract val doNotFound: Action

    Attributes
    protected
    Definition Classes
    ScalatraBase
  2. abstract def requestPath(implicit request: HttpServletRequest): String

    Definition Classes
    ScalatraBase
  3. abstract def routeBasePath(implicit request: HttpServletRequest): String

    Attributes
    protected
    Definition Classes
    ScalatraBase

Concrete Value Members

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

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. def addRoute(method: HttpMethod, transformers: Seq[RouteTransformer], action: ⇒ Any): Route

    Attributes
    protected
    Definition Classes
    ScalatraBase
  5. def addSessionId(uri: String)(implicit response: HttpServletResponse): String

    Attributes
    protected
    Definition Classes
    ScalatraBase
  6. def addStatusRoute(codes: Range, action: ⇒ Any): Unit

    Attributes
    protected[org.scalatra]
    Definition Classes
    ScalatraBase
  7. def after(transformers: RouteTransformer*)(fun: ⇒ Any): Unit

    Definition Classes
    ScalatraBase → CoreDsl
  8. implicit val anyToBoolean: org.scalatra.util.conversion.TypeConverter[Any, Boolean]

    Definition Classes
    LowPriorityImplicitConversions
  9. implicit val anyToByte: org.scalatra.util.conversion.TypeConverter[Any, Byte]

    Definition Classes
    LowPriorityImplicitConversions
  10. implicit val anyToDouble: org.scalatra.util.conversion.TypeConverter[Any, Double]

    Definition Classes
    LowPriorityImplicitConversions
  11. implicit val anyToFloat: org.scalatra.util.conversion.TypeConverter[Any, Float]

    Definition Classes
    LowPriorityImplicitConversions
  12. implicit val anyToInt: org.scalatra.util.conversion.TypeConverter[Any, Int]

    Definition Classes
    LowPriorityImplicitConversions
  13. implicit val anyToLong: org.scalatra.util.conversion.TypeConverter[Any, Long]

    Definition Classes
    LowPriorityImplicitConversions
  14. implicit val anyToShort: org.scalatra.util.conversion.TypeConverter[Any, Short]

    Definition Classes
    LowPriorityImplicitConversions
  15. implicit val anyToString: org.scalatra.util.conversion.TypeConverter[Any, String]

    Definition Classes
    LowPriorityImplicitConversions
  16. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  17. def before(transformers: RouteTransformer*)(fun: ⇒ Any): Unit

    Definition Classes
    ScalatraBase → CoreDsl
  18. implicit def booleanBlock2RouteMatcher(block: ⇒ Boolean): RouteMatcher

    Attributes
    protected
    Definition Classes
    ScalatraBase
  19. def clone(): AnyRef

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

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

    Attributes
    protected
    Definition Classes
    ServletBase → Initializable
  22. def configureMultipartHandling(config: MultipartConfig): Unit

    Definition Classes
    HasMultipartConfig
  23. def contentType: String

    Definition Classes
    ScalatraContext
  24. def contentTypeInferrer: ContentTypeInferrer

    Attributes
    protected
    Definition Classes
    ScalatraBase
  25. def contentType_=(contentType: String): Unit

    Definition Classes
    ScalatraContext
  26. def contextPath: String

    Attributes
    protected
    Definition Classes
    ScalatraBase
  27. implicit def cookieOptions: CookieOptions

    Definition Classes
    CookieContext
  28. def cookies: SweetCookies

    Definition Classes
    CookieContext
  29. val defaultCharacterEncoding: String

    Attributes
    protected
    Definition Classes
    ScalatraBase
  30. implicit def defaultStringToSeq[T](implicit elementConverter: org.scalatra.util.conversion.TypeConverter[String, T], mf: Manifest[T]): org.scalatra.util.conversion.TypeConverter[String, Seq[T]]

    Definition Classes
    DefaultImplicitConversions
  31. def delete(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  32. var doMethodNotAllowed: (Set[HttpMethod]) ⇒ Any

    Attributes
    protected
    Definition Classes
    ScalatraBase
  33. implicit def enrichRequest(request: HttpServletRequest): RichRequest

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

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

    Definition Classes
    ServletApiImplicits
  36. implicit def enrichSession(session: HttpSession): RichSession

    Definition Classes
    ServletApiImplicits
  37. def environment: String

    Definition Classes
    ScalatraBase
  38. final def eq(arg0: AnyRef): Boolean

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

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

    Definition Classes
    ScalatraBase → CoreDsl
  41. var errorHandler: ErrorHandler

    Attributes
    protected
    Definition Classes
    ScalatraBase
  42. def executeRoutes(): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  43. def extractStatusCode(e: HaltException): Int

    Attributes
    protected
    Definition Classes
    ScalatraBase
  44. def fileMultiParams(key: String)(implicit request: HttpServletRequest): Seq[FileItem]

    Definition Classes
    FileUploadSupport
  45. def fileMultiParams(implicit request: HttpServletRequest): FileMultiParams

    Definition Classes
    FileUploadSupport
  46. def fileParams(key: String)(implicit request: HttpServletRequest): FileItem

    Definition Classes
    FileUploadSupport
  47. def fileParams(implicit request: HttpServletRequest): MultiMapHeadView[String, FileItem]

    Definition Classes
    FileUploadSupport
  48. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  49. def format_=(formatValue: String): Unit

    Definition Classes
    ScalatraContext
  50. def format_=(formatValue: Symbol): Unit

    Definition Classes
    ScalatraContext
  51. def fullUrl(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean, withSessionId: Boolean)(implicit request: HttpServletRequest, response: HttpServletResponse): String

    Definition Classes
    ScalatraBase
  52. def get(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  53. final def getClass(): Class[_]

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

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

    Definition Classes
    Control
  56. def handle(req: HttpServletRequest, res: HttpServletResponse): Unit

    Definition Classes
    FileUploadSupport → ServletBase → ScalatraBase → Handler
  57. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  58. def head(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  59. def initParameter(name: String): Option[String]

    Definition Classes
    ScalatraBase
  60. def initialize(config: (FileUploadFeature.this)#ConfigT): Unit

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

    Attributes
    protected
    Definition Classes
    ScalatraBase
  62. def isAsyncExecutable(result: Any): Boolean

    Attributes
    protected
    Definition Classes
    ScalatraBase
  63. def isDevelopmentMode: Boolean

    Definition Classes
    ScalatraBase
  64. def isHttps(implicit request: HttpServletRequest): Boolean

    Attributes
    protected
    Definition Classes
    ScalatraBase
  65. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  66. def isSizeConstraintException(e: Exception): Boolean

    Attributes
    protected
    Definition Classes
    FileUploadSupport
  67. implicit def lowestPriorityAny2T[T](implicit arg0: Manifest[T]): org.scalatra.util.conversion.TypeConverter[Any, T]

    Definition Classes
    LowestPriorityImplicitConversions
  68. def methodNotAllowed(f: (Set[HttpMethod]) ⇒ Any): Unit

    Definition Classes
    ScalatraBase → CoreDsl
  69. def multiParams(implicit request: HttpServletRequest): org.scalatra.MultiParams

    Definition Classes
    ScalatraBase
  70. def multiParams(key: String)(implicit request: HttpServletRequest): Seq[String]

    Definition Classes
    ScalatraBase
  71. def multipartConfig: MultipartConfig

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

    Definition Classes
    AnyRef
  73. def needsHttps: Boolean

    Attributes
    protected
    Definition Classes
    ScalatraBase
  74. def notFound(fun: ⇒ Any): Unit

    Definition Classes
    ScalatraBase → CoreDsl
  75. final def notify(): Unit

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

    Definition Classes
    AnyRef
  77. def options(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  78. def params(implicit request: HttpServletRequest): org.scalatra.Params

    Definition Classes
    ScalatraBase
  79. def params(key: Symbol)(implicit request: HttpServletRequest): String

    Definition Classes
    ScalatraBase
  80. def params(key: String)(implicit request: HttpServletRequest): String

    Definition Classes
    ScalatraBase
  81. def pass(): Nothing

    Definition Classes
    Control
  82. def patch(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  83. implicit def pathPatternParser2RouteMatcher(pattern: PathPattern): RouteMatcher

    Attributes
    protected
    Definition Classes
    ScalatraBase
  84. def post(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  85. def put(transformers: RouteTransformer*)(action: ⇒ Any): Route

    Definition Classes
    ScalatraBase → CoreDsl
  86. def redirect(uri: String)(implicit request: HttpServletRequest, response: HttpServletResponse): Nothing

    Definition Classes
    ScalatraBase
  87. implicit def regex2RouteMatcher(regex: Regex): RouteMatcher

    Attributes
    protected
    Definition Classes
    ScalatraBase
  88. def relativeUrl(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean)(implicit request: HttpServletRequest, response: HttpServletResponse): String

    Definition Classes
    ScalatraBase
  89. def removeRoute(method: String, route: Route): Unit

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

    Attributes
    protected
    Definition Classes
    ScalatraBase
  91. def renderHaltException(e: HaltException): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  92. def renderPipeline: RenderPipeline

    Attributes
    protected
    Definition Classes
    ScalatraBase
  93. def renderResponse(actionResult: Any): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  94. def renderResponseBody(actionResult: Any): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  95. def renderUncaughtException(e: Throwable)(implicit request: HttpServletRequest, response: HttpServletResponse): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  96. implicit def request: HttpServletRequest

    Definition Classes
    DynamicScope → RequestResponseScope
  97. implicit def response: HttpServletResponse

    Definition Classes
    DynamicScope → RequestResponseScope
  98. lazy val routes: RouteRegistry

    Definition Classes
    ScalatraBase
  99. def runFilters(filters: Traversable[Route]): Unit

    Attributes
    protected
    Definition Classes
    ScalatraBase
  100. def runRoutes(routes: Traversable[Route]): Stream[Any]

    Attributes
    protected
    Definition Classes
    ScalatraBase
  101. implicit def safe[S, T](f: (S) ⇒ T): org.scalatra.util.conversion.TypeConverter[S, T]

    Definition Classes
    TypeConverterSupport
  102. implicit def safeOption[S, T](f: (S) ⇒ Option[T]): org.scalatra.util.conversion.TypeConverter[S, T]

    Definition Classes
    TypeConverterSupport
  103. implicit def scalatraContext: ScalatraContext

    Attributes
    protected[this]
    Definition Classes
    ScalatraContext
  104. implicit def seqHead[T](implicit elementConverter: org.scalatra.util.conversion.TypeConverter[String, T], mf: Manifest[T]): org.scalatra.util.conversion.TypeConverter[Seq[String], T]

    Definition Classes
    DefaultImplicitConversions
  105. implicit def seqToSeq[T](implicit elementConverter: org.scalatra.util.conversion.TypeConverter[String, T], mf: Manifest[T]): org.scalatra.util.conversion.TypeConverter[Seq[String], Seq[T]]

    Definition Classes
    DefaultImplicitConversions
  106. def serverHost(implicit request: HttpServletRequest): String

    Definition Classes
    ScalatraBase
  107. def serverPort(implicit request: HttpServletRequest): Int

    Definition Classes
    ScalatraBase
  108. def servletContext: javax.servlet.ServletContext

    Definition Classes
    ScalatraBase → ScalatraContext
  109. def session(key: Symbol)(implicit request: HttpServletRequest): Any

    Definition Classes
    SessionSupport
  110. def session(key: String)(implicit request: HttpServletRequest): Any

    Definition Classes
    SessionSupport
  111. implicit def session(implicit request: HttpServletRequest): HttpSession

    Definition Classes
    SessionSupport
  112. def sessionOption(implicit request: HttpServletRequest): Option[HttpSession]

    Definition Classes
    SessionSupport
  113. def setMultiparams[S](matchedRoute: Option[MatchedRoute], originalParams: org.scalatra.MultiParams)(implicit request: HttpServletRequest): Unit

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

    Attributes
    protected
    Definition Classes
    Initializable
  115. def status: Int

    Definition Classes
    ScalatraContext
  116. def status_=(code: Int): Unit

    Definition Classes
    ScalatraContext
  117. implicit def string2RouteMatcher(path: String): RouteMatcher

    Attributes
    protected
    Definition Classes
    ScalatraBase
  118. implicit val stringToBoolean: org.scalatra.util.conversion.TypeConverter[String, Boolean]

    Definition Classes
    DefaultImplicitConversions
  119. implicit val stringToByte: org.scalatra.util.conversion.TypeConverter[String, Byte]

    Definition Classes
    DefaultImplicitConversions
  120. def stringToDate(format: ⇒ String): org.scalatra.util.conversion.TypeConverter[String, Date]

    Definition Classes
    DefaultImplicitConversions
  121. def stringToDateFormat(format: ⇒ DateFormat): org.scalatra.util.conversion.TypeConverter[String, Date]

    Definition Classes
    DefaultImplicitConversions
  122. implicit val stringToDouble: org.scalatra.util.conversion.TypeConverter[String, Double]

    Definition Classes
    DefaultImplicitConversions
  123. implicit val stringToFloat: org.scalatra.util.conversion.TypeConverter[String, Float]

    Definition Classes
    DefaultImplicitConversions
  124. implicit val stringToInt: org.scalatra.util.conversion.TypeConverter[String, Int]

    Definition Classes
    DefaultImplicitConversions
  125. implicit val stringToLong: org.scalatra.util.conversion.TypeConverter[String, Long]

    Definition Classes
    DefaultImplicitConversions
  126. implicit val stringToSelf: org.scalatra.util.conversion.TypeConverter[String, String]

    Definition Classes
    DefaultImplicitConversions
  127. def stringToSeq[T](elementConverter: org.scalatra.util.conversion.TypeConverter[String, T], separator: String)(implicit arg0: Manifest[T]): org.scalatra.util.conversion.TypeConverter[String, Seq[T]]

    Definition Classes
    DefaultImplicitConversions
  128. implicit val stringToShort: org.scalatra.util.conversion.TypeConverter[String, Short]

    Definition Classes
    DefaultImplicitConversions
  129. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  130. def toString(): String

    Definition Classes
    AnyRef → Any
  131. implicit def toTypedMultiParams(params: org.scalatra.MultiParams): (FileUploadFeature.this)#TypedMultiParams

    Definition Classes
    ScalatraParamsImplicits
  132. implicit def toTypedParams(params: org.scalatra.Params): (FileUploadFeature.this)#TypedParams

    Definition Classes
    ScalatraParamsImplicits
  133. def trap(codes: Range)(block: ⇒ Any): Unit

    Definition Classes
    ScalatraBase → CoreDsl
  134. def trap(code: Int)(block: ⇒ Any): Unit

    Definition Classes
    CoreDsl
  135. def url(path: String, params: Iterable[(String, Any)], includeContextPath: Boolean, includeServletPath: Boolean, absolutize: Boolean, withSessionId: Boolean)(implicit request: HttpServletRequest, response: HttpServletResponse): String

    Definition Classes
    ScalatraBase
  136. final def wait(): Unit

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

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

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

    Attributes
    protected
    Definition Classes
    DynamicScope → RequestResponseScope
  140. def withRequestResponse[A](request: HttpServletRequest, response: HttpServletResponse)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    DynamicScope → RequestResponseScope
  141. def withResponse[A](response: HttpServletResponse)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    DynamicScope → RequestResponseScope
  142. def withRouteMultiParams[S](matchedRoute: Option[MatchedRoute])(thunk: ⇒ S): S

    Attributes
    protected
    Definition Classes
    ScalatraBase

Deprecated Value Members

  1. def _request: DynamicVariable[HttpServletRequest]

    Attributes
    protected
    Definition Classes
    DynamicScope
    Annotations
    @deprecated
    Deprecated

    (Since version 2.1.0) Do not invoke directly. Use withRequest to change the binding, or request to get the value

  2. def _response: DynamicVariable[HttpServletResponse]

    Attributes
    protected
    Definition Classes
    DynamicScope
    Annotations
    @deprecated
    Deprecated

    (Since version 2.1.0) Do not invoke directly. Use withResponse to change the binding, or response to get the value

  3. def applicationContext: javax.servlet.ServletContext

    Definition Classes
    ScalatraBase
    Annotations
    @deprecated
    Deprecated

    (Since version 2.1.0) Use servletContext instead

  4. def status(code: Int): Unit

    Definition Classes
    ScalatraContext
    Annotations
    @deprecated
    Deprecated

    (Since version 2.1.0) Use status_=(Int) instead

Inherited from FileUploadSupport

Inherited from HasMultipartConfig

Inherited from ServletBase

Inherited from ScalatraBase

Inherited from CookieSupport

Inherited from DefaultImplicitConversions

Inherited from LowPriorityImplicitConversions

Inherited from LowestPriorityImplicitConversions

Inherited from org.scalatra.util.conversion.TypeConverterSupport

Inherited from ScalatraParamsImplicits

Inherited from Initializable

Inherited from DynamicScope

Inherited from RequestResponseScope

Inherited from CoreDsl

Inherited from Control

Inherited from Handler

Inherited from ScalatraContext

Inherited from CookieContext

Inherited from SessionSupport

Inherited from ServletApiImplicits

Inherited from AnyRef

Inherited from Any

Ungrouped