0

私は Scala で Play 2.1.1 を使用しており、ファイルのアップロード、特に画像を処理するコントローラーを持っています。ローカルではこれは完全に機能しますが、play2-war-plugin ( https://github.com/dlecan/play2-war-plugin ) を使用して、ubuntu と tomcat7 を実行しているサーバーに war ファイルをデプロイしました。

画像をアップロードすると、次の例外が発生します

[ScalaIOException: MainException: class java.io.IOException(No such file or directory)]

私のコントローラーは

def addProjectImage(id: Long) = Action(parse.multipartFormData) { implicit request =>
    DB.withSession{ implicit session => {
        request.body.file("img").map { picture =>
            import java.io.File
            val filename = picture.filename + ".png"
            val contentType = picture.contentType
            var f = new File(s"./public/upload/project_picture/${filename}")
            picture.ref.moveTo(f)
            Projects.updateImage(id, "/assets/upload/project_picture/"+filename)
            Redirect(routes.Admin.index)
          }.getOrElse {
            Redirect(routes.Application.index).flashing(
              "error" -> "Missing image"
            )
          }
    }}
}

任意の提案をいただければ幸いです。

前もって感謝します。

4

1 に答える 1

0

ファイルの場所へのURLに問題があるようです。ローカルでは問題が発生せず、Tomcat を使用しているときに問題が発生した場合は、作成している URL が正しいことを確認する必要があります。ブラウザでアクセスできますか?どの行で IOException を取得していますか? 入っていますかvar f = new File(s"./p....

于 2013-07-10T21:18:17.897 に答える