まず、以下のサイトの通りでログイン認証を実装したのちのご質問になります。
ほぼ丸々同じです。

http://akiomik.hatenablog.jp/entry/2013/02/07/211054

画像アップロードの機能を備えたいと考えているのですが、ドキュメントの通りに書いてしまうと、tmpフォルダに全ての画像が入ってしまう(?)ため、アカウントID(かprimary key)ごとにフォルダを別に分けて保存できないかと思われ、以下のように書いてみました。ですがこのファイルではhelperformからloginNameを取得していないため、当然ながら、

value loginName is not a member of play.api.data.Form[com.github.j5ik2o.spetstore.application.controller.LoginCustomer]

の一文がコンパイルエラーとして出てしまいます。(なお引数が足らないとエラーで出てしまうことと、画像をアップロードするview(profpicsupload.scala.html)にもloginNameを渡したいと思ったため、@Inject の後に引数として val loginFormをとりあえず入れてあります)

また以前ご回答いただいた際に、クラスではなくシングルトンオブジェクトにすれば、例えば、上記の

case class LoginCustomer ( 
     email: string
     loginName: string
     password: string
)

の情報を form ( val loginForm = Form(...) )をつかったmappingで取得し、 これを例えば以下のメソッド;

def toprofpics(loginForm: LoginCustomer): Unit = ProfpicsUploadController.toprofpics(loginForm)

で渡せばいいのかもとふと思いましたが、そもそもシングルトンオブジェクトにしてしまうとアクションメソッドを使えなくなってしまうのでどうにもならないと気づきました。これでうまくいくわけがないというのはわかってるのですが、こういう場合(アカウントごとに画像を整理して保存したい場合)どうすべきなのでしょうか。ご回答いただければ幸いです。

package com.github.j5ik2o.spetstore.application.controller
import javax.inject._
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import com.github.j5ik2o.spetstore.domain.model.customer._
import com.github.j5ik2o.spetstore.application.controller.json._
import play.api.i18n.{ I18nSupport, MessagesApi }
import play.api.i18n.Messages.Implicits._
import scala.util.Random
import java.io.File
import java.nio.file.{ Files, Path, Paths }
import akka.stream.IOResult
import akka.stream.scaladsl._
import akka.util.ByteString
import play.api.libs.streams._
import play.api.mvc.MultipartFormData.FilePart
import play.api.mvc._
import play.core.parsers.Multipart.FileInfo
import scala.concurrent.{ ExecutionContext, Future }
import java.sql.Connection
import scalikejdbc._
import scalikejdbc.SQLInterpolation._

case class ProfpicsUploadData(name: String)

class ProfpicsUploadController @Inject() (val messagesApi: MessagesApi, val  messagesApi2: MessagesApi,
   val loginForm:
Form[com.github.j5ik2o.spetstore.application.controller.LoginCustomer])(implicit executionContext: ExecutionContext)
     extends Controller
     with play.api.i18n.I18nSupport with Secured {

   private val logger = Logger(this.getClass)

   val profpicsUploadForm = Form(

     mapping(
      "name" -> text
     )(ProfpicsUploadData.apply)(ProfpicsUploadData.unapply)

  //標準のボディパーサを使ったupload
  def upload = Action(parse.multipartFormData) { request =>
    request.body.file("picture").map { picture =>
      import java.io.File
      val name = picture.filename
      val contentType = picture.contentType

      val loginName = loginForm.loginName.toString

      try {

         DB readOnly { implicit s =>
          val primarykey = sql"select pk from customer where loginName = ${loginName}"

          //ディレクトリ作成
          //    val dir = Paths.get("mydir")
          val dirp = Paths.get("fileupload", "customer", "profilepics", s"$primarykey")
          //    if(Files.notExists(dir)) Files.createDirectory(dir) // mkdir
          if (Files.notExists(dirp)) Files.createDirectories(dirp) // mkdir -p

          picture.ref.moveTo(new File(s"/fileupload/customer/profilepics/$primarykey/$name"))
        }
      } catch {
         case e: Exception => e.printStackTrace()
      }
       Ok("File uploaded")
     }.getOrElse {

Redirect(com.github.j5ik2o.spetstore.application.controller.routes.ProfpicsUploadController.profpicsupload).flashing(
        "error" -> "Missing file"
       )
    }

  }

   def profpicsupload = Action { implicit request =>
    Ok(views.html.profpicsupload(messagesApi.toString, loginForm, profpicsUploadForm))

  }

  // トップページ
  def index = Action { implicit request =>
    Ok(views.html.index("Your new application is ready."))
  }

}

object ProfpicsUploadController {

  def toprofpics(loginForm: LoginCustomer): Unit = {

//      val loginName = loginForm.loginName.toString

    ( 
      loginForm.email.toString,
      loginForm.loginName.toString,
      loginForm.password.toString
    ) match {
        case (email, loginName, password) => LoginCustomer(email, loginName, password)
       }
  }

}