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[(Route) ⇒ Route], 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: (Route) ⇒ Route*)(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: (Route) ⇒ Route*)(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: (Route) ⇒ Route*)(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 fileMultiParams(key: String)(implicit request: HttpServletRequest): Seq[FileItem]

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

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

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

    Definition Classes
    FileUploadSupport
  49. def finalize(): Unit

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

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

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

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

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

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

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

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

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

    Definition Classes
    AnyRef → Any
  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: (Route) ⇒ Route*)(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: (Route) ⇒ Route*)(action: ⇒ Any): Route

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

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

    Definition Classes
    ScalatraBase → CoreDsl
  85. def put(transformers: (Route) ⇒ Route*)(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. implicit def request: HttpServletRequest

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

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

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

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

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

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

    Definition Classes
    TypeConverterSupport
  102. implicit def scalatraContext: ScalatraContext

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

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

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Initializable
  114. def status: Int

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

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

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    AnyRef
  129. def toString(): String

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

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

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

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

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

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

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

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

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

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

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

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