Playでファイルアップローダー機能を実装する
playフレームワークを使ってアップローダーを作成する。
前提としてplayの空プロジェクトができているものとする。
ルーティングの設定
routesに次の3行を追加する。
# for Uploader
GET /up controllers.Uploader.index
POST /upload controllers.Uploader.upload
ビューの作成
アップローダーを行う画面を作成する。
app/view/up.scala.html
@(message: String)
@main("Welcome to Play") {
@helper.form(action = routes.Uploader.upload, 'enctype -> "multipart/form-data"){
<input type="file" name="file">
<input type="submit">
}
}
コントローラーの作成
アップロード用のロジックを作成する。
app/controllers/Uploader.scala
package controllers
import play.api._
import play.api.mvc._
object Uploader extends Controller {
def index = Action {
Ok(views.html.up("アップロード成功"))
}
def upload = Action(parse.multipartFormData) { request =>
request.body.file("file").map { file =>
import java.io.File
val filename = file.filename
val contentType = file.contentType
file.ref.moveTo(new File("/tmp", filename))
Ok(views.html.up("アップロード成功"))
}.getOrElse {
Redirect(routes.Uploader.index).flashing(
"error" -> "Missing file"
)
}
}
}
これで次のURLにアクセスすればアップロードを行える。
http://ホスト名:9000/up
Author And Source
この問題について(Playでファイルアップローダー機能を実装する), 我々は、より多くの情報をここで見つけました https://qiita.com/nekonoprotocol/items/af5c6ed7abf1c4f74b73著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .