Как обслуживать загруженные файлы в Play!2 с помощью Scala?

Я пытаюсь разрешить пользователям загружать фотографии на сервер, а затем просматривать их. Загрузка происходит, как описано в этом руководстве . Вот код:

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 варианта:

  1. Сохраните фотографии в папке /public в моем проекте (, посвященном ресурсам ). См. здесь:http://www.playframework.org/documentation/2.0/Assets

  2. Напишите свой собственный контроллер, который обслуживает изображения из пользовательских мест с моего диска.

Для 1 я не уверен, что это цель активов. Для 2 я понятия не имею, как написать такой контроллер.

16
задан Henry Henrinson 12 July 2012 в 11:52
поделиться