Я хотел был бы сохранить изображения, загруженные как пользовательский контент в GridFS
в приложении Scala Play 2. Как я могу восстановить двоичный файл из GridFSDBFile
, который дает мне GridFS.findOne
?Обслуживание файлов из GridFS с casbah/salat
0
A
ответ
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 часто является лучшим выбором.
Смежные вопросы
- 1. Обслуживание статических файлов через GridFS MongoDB
- 2. ошибка получения файлов из gridfs
- 3. Экспресс JS: обслуживание файлов из памяти и обслуживание статических файлов
- 4. Обслуживание статических файлов из appfog
- 5. Обслуживание файлов из контекста Tomcat
- 6. Обслуживание файлов с IdHTTPServer при записи файлов
- 7. Обслуживание статических файлов с RESTIFY
- 8. Обслуживание файлов с именованием конфликтов
- 9. Ошибка больших файлов с GridFS и MongoDB
- 10. Подсчет файлов с метаданными в GridFS
- 11. Получение метаданных файлов с использованием python GridFS
- 12. Управление версиями файлов с помощью GridFS
- 13. Обслуживание статических файлов Узел
- 14. 13 миллионов файлов gridfs mongo
- 15. Обслуживание статических файлов из JAR-файл
- 16. Обслуживание статических файлов из приложения express/node.js
- 17. Обслуживание статических TXT файлов из Финикса
- 18. Экспресс-обслуживание статических файлов
- 19. Обслуживание статических файлов из облачных хранилищ Google?
- 20. Показать изображения из Gridfs
- 21. Обслуживание динамического содержимого из Mongo GridFS через Nginx без ошибки 404
- 22. Удаление файла из GridFS
- 23. Обслуживание изображений и других файлов с ContentProvider
- 24. Django и обслуживание статических файлов
- 25. Обслуживание файлов с BlobStore в GAE
- 26. Обслуживание статических файлов в разработке
- 27. Обслуживание больших файлов с S3 на Rails
- 28. Обслуживание статических файлов с использованием сервлетов Racket
- 29. Обслуживание файлов с SQL Server через Zend
- 30. Обслуживание больших статических файлов с помощью Sinatra