2013-05-31 4 views

ответ

0

Вы можете подать файл, передав его содержимое и установив правильные заголовки http - пример этого - here.

def getPhoto(file: ObjectId) = Action { 
    import com.mongodb.casbah.Implicits._ 

    val gridFs = salat.gridFS("photos") 

    gridFs.findOne(Map("_id" -> file)) match { 
    case Some(f) => SimpleResult(
     ResponseHeader(OK, Map(
     CONTENT_LENGTH -> f.length.toString, 
     CONTENT_TYPE -> f.contentType.getOrElse(BINARY), 
     DATE -> new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", java.util.Locale.UK).format(f.uploadDate) 
    )), 
     Enumerator.fromStream(f.inputStream) 
    ) 

    case None => NotFound 
    } 
} 

Однако это часто не является наиболее эффективным вариантом для обслуживания файлов. Файловые системы предназначены для этого или для размещения корня url за кешем - например, лак или развертывание в cdn часто является лучшим выбором.

Смежные вопросы