文件上传时缺少参数类型与剪影

时间:2018-06-04 10:20:02

标签: scala playframework silhouette

现在用剪影实现文件上传。

从原来的

获得

https://github.com/playframework/play-scala-fileupload-example/tree/2.5.x

剪影

https://github.com/mohiva/play-silhouette-seed/tree/4.0.0/app

我想用剪影修复def上传方法,以表明fileUpload2.scala.html中的身份(用户名),因此添加了以下行;

-Dsonar.cfamily.build-wrapper-output=bw-output

参考此链接;

http://grokbase.com/p/gg/play-framework/133pt061br/2-1-0-scala-action-question

但效果不佳。

(FileUploadController.scala)

silhouette.SecuredAction.async { implicit request => 
Future.successful(Ok(views.html.fileUpload2(request.identity,fileOption)))
}

问题是最后一行;

  

silhouette.SecuredAction.async {implicit request =>   Future.successful(OK(views.html.fileUpload2(request.identity,fileOption)))

编译错误;

  

缺少参数类型

发生。

1 个答案:

答案 0 :(得分:2)

您在错误的地方使用Silhouette动作。你应该写:

def upload = silhouette.SecuredAction.async(parse.multipartFormData(handleFilePartAsFile)) { 
  implicit request =>
    // Your upload code
}

Silhouette动作是一种默认的Play动作,其优点是使用身份和身份验证器扩展了请求类型。