in app/controllers/Application.scala [58:79]
private def bytesToMb (bytes: Long): Long = bytes / 1024 / 1024
def uploadFile = AuthAction (parse.maxLength(parse.DefaultMaxDiskLength, parse.multipartFormData)) { request =>
request.body match {
case Left(MaxSizeExceeded(limit)) => {
EntityTooLarge(views.html.tooLarge(request.user, bytesToMb(limit)))
}
case Right(multipartForm) => {
val uploads : Seq[S3UploadResponse] = multipartForm.files.map { f =>
val temporaryFilePath = Paths.get(s"/tmp/${f.filename}")
f.ref.moveTo(temporaryFilePath, replace = true)
val res = s3Actions.upload(temporaryFilePath.toFile, request.user, S3UploadAppConfig, setPublicAcl = false)
Files.delete(temporaryFilePath)
res
}
Ok(views.html.uploaded(request.user, uploads)(request))
}
}
}