pass result values of MultipartFormData.FilePart
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 =
と書いてしまうとコンパイルエラーが出てしまうので、ご回答いただく思いました。