fileuploadの実装にあたって、 MultipartFormData.FilePartに格納されている情報をtagとしてmysqlにinsertしたいと考えています。

問題のある箇所は以下の通りです。

(FileUploadController.scala)

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

    val fileOption = request.body.file("picName").map {

      case FilePart(key, filename, contentType, file) =>
        logger.info(s"key = ${key}, filename = ${filename}, contentType = ${contentType}, file = $file")

        val data = operateOnTempFile(file)

    FileUploadFormSupport.picsave(FilePart(key, filename, contentType, file))

         data

    }

(FileUploadFormSupport.scala)

def picsave() :Unit = {
    //sql
}

def picsave() :Unit = {

の括弧の中に、例えばmodels.User.scalaにあるcase class を渡す場合、

def insert(data:Data) :Unit =

などと書く部分です。例えばそのまま、

def picsave(FilePart(key, filename, contentType, file)): Unit =

def picsave(FilePart(key:String, filename:String, contentType:String, file)): Unit =

def picsave(key:String, filename:String, contentType:String, file:A) : Unit =

と書いてしまうとコンパイルエラーが出てしまうので、ご回答いただく思いました。

参考;
https://www.playframework.com/documentation/2.5.8/api/java/play/mvc/Http.MultipartFormData.FilePart.html