0

为了实现流式上传,我编写了一个自定义 PartHandler(此处为 Thread)。

我现在需要访问存储在 play 中的值!PartHandler 中的会话。我怎样才能做到这一点 ?

代码示例:

 def uploadFile() = 

    Action( parse.multipartFormData(myPartHandler) ) 
      {  request => 
           request.session.get("myValue") // <-- Recovering value is fine here
           Ok("Done") }

    def myPartHandler: BodyParsers.parse.Multipart.PartHandler[MultipartFormData.FilePart[Result]] = {
      parse.Multipart.handleFilePart {

        case parse.Multipart.FileInfo(partName, filename, contentType) =>

         // ** Need to access a value in session here **
         //request.session.get("myValue")...

        // Handle part ...

谢谢!

4

1 回答 1

0

在其他玩家的帮助下!framework google group,这里是如何访问自定义 partHandler 中的请求。

//Create a body parser
val myBodyParser = BodyParser { request => 
    parse.multipartFormData(myPartHandler(request)).apply(request)
}

 def uploadFile() = Action(myBodyParser) 
      {request =>Ok("Done")}

 def myPartHandler(request: RequestHeader) : BodyParsers.parse.Multipart.PartHandler[MultipartFormData.FilePart[Result]] = {
    parse.Multipart.handleFilePart {
      case parse.Multipart.FileInfo(partName, filename, contentType) =>         
        println(request.session.get("myValueKey"));
于 2012-08-23T14:11:51.343 回答