Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上传文件Scala Spray_Scala_Spray - Fatal编程技术网

上传文件Scala Spray

上传文件Scala Spray,scala,spray,Scala,Spray,希望创建使用多部分/表单数据上载文件的功能。但是,我无法掌握如何更改MultipartFormData并将其存储在文件系统中。以下是我到目前为止的情况 trait Service extends HttpService { private final lazy val fileWorker = actorRefFactory.actorOf(Props[FileServicesActor]) implicit def executionContext = actorRefFacto

希望创建使用多部分/表单数据上载文件的功能。但是,我无法掌握如何更改MultipartFormData并将其存储在文件系统中。以下是我到目前为止的情况

trait Service extends HttpService {

  private final lazy val fileWorker = actorRefFactory.actorOf(Props[FileServicesActor])


  implicit def executionContext = actorRefFactory.dispatcher

    val demoRoute: Route = {
      path("file") {
          post {
            respondWithMediaType(`application/json`) {
              entity(as[MultipartFormData]) { formData =>
                uploadFile(formData)
              }
            }
          }
        }
      }



  private def uploadFile(data: MultipartFormData)= {
    val response = (fileWorker ? UploadFile(data)).mapTo[Any].map { case t: Success => t
    case e: Error => Error.outputError(e)
    case _ => Failure(_)
    }.recover { case e: Exception => Failure(e)
    }
    complete(response)
  }

  }
函数解析为:

  def uploadFile(data: MultipartFormData) = {

    val file = data.get("file")
    //not sure what to do with data here...
  }