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: () ⇒ Any

    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: 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. def addRoute(method: HttpMethod, transformers: Seq[RouteTransformer], action: ⇒ Any): Route

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    HasMultipartConfig
  25. def contentType: String

    Definition Classes
    ScalatraContext
  26. def contentTypeInferrer: ContentTypeInferrer

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

    Definition Classes
    ScalatraContext
  28. def contextPath: String

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

    Definition Classes
    CookieContext
  30. def cookies: SweetCookies

    Definition Classes
    CookieContext
  31. val defaultCharacterEncoding: String

    Attributes
    protected
    Definition Classes
    ScalatraBase
  32. 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
  33. def delete(transformers: RouteTransformer*)(action: ⇒ Any): Route

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

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

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

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

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

    Definition Classes
    ServletApiImplicits
  39. def environment: String

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

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

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

    Definition Classes
    ScalatraBase → CoreDsl
  43. var errorHandler: ErrorHandler

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

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

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

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

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

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

    Definition Classes
    FileUploadSupport
  50. def finalize(): Unit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    ScalatraBase
  65. def isDevelopmentMode: Boolean

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

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

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

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

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

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

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

    Definition Classes
    ScalatraBase
  73. def multipartConfig: MultipartConfig

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

    Definition Classes
    AnyRef
  75. def needsHttps: Boolean

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

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

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

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

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

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

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

    Definition Classes
    ScalatraBase
  83. def pass(): Nothing

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

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

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

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    ScalatraBase
  94. def renderPipeline: RenderPipeline

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    TypeConverterSupport
  105. implicit def scalatraContext: ScalatraContext

    Attributes
    protected[this]
    Definition Classes
    ScalatraContext
  106. 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
  107. 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
  108. def serverHost(implicit request: HttpServletRequest): String

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

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Initializable
  117. def status: Int

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    DefaultImplicitConversions
  129. 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
  130. implicit val stringToShort: org.scalatra.util.conversion.TypeConverter[String, Short]

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

    Definition Classes
    AnyRef
  132. def toString(): String

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

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

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

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

    Definition Classes
    CoreDsl
  137. 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
  138. final def wait(): Unit

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    DynamicScope → RequestResponseScope
  144. 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