Я пытаюсь разрешить пользователям загружать фотографии на сервер, а затем просматривать их. Загрузка происходит, как описано в этом руководстве. Вот код:
def upload = Action(parse.multipartFormData) { request =>
request.body.file("picture").map { picture =>
import java.io.File
val filename = picture.filename
val contentType = picture.contentType
picture.ref.moveTo(new File("/tmp/picture"))
Ok("File uploaded")
}.getOrElse {
Redirect(routes.Application.index).flashing(
"error" -> "Missing file"
)
}
}
Мне непонятно, как вернуть загруженные изображения пользователям, которые хотят их видеть. Сейчас я размещаю сервер на своей машине, поэтому фрагмент кода из руководства записывает файлы на мой диск D: который не является (и не должен) быть доступен из Интернета. Насколько я вижу, есть 2 варианта:
-
Храните фотографии в папке/общей папке в моем проекте (тот, который посвящен активам). См. Здесь: http://www.playframework.org/documentation/2.0/Assets
-
Напишите мой собственный контроллер, который обслуживает изображения из пользовательских местоположений с моего диска.
Для 1, я не уверен, что это цель активов. Для 2 я понятия не имею, как написать такой контроллер.