import java.io.FileInputStream import java.nio.file.Paths import play.api.http.HttpEntity import akka.stream.scaladsl.StreamConverters import play.api.mvc._ import play.api.http.MimeTypes._ import play.api.http.HeaderNames._ import play.api.http.Status._ val path = Paths.get("asdf") val file = path.toFile val contentLength = file.length val stream: FileInputStream = new FileInputStream(file) val source = StreamConverters.fromInputStream(() => stream) Result( header = ResponseHeader(OK, Map( CONTENT_TYPE -> BINARY, CONTENT_LENGTH -> contentLength.toString, CONNECTION -> "keep-alive" )), body = HttpEntity.Streamed(source, Some(contentLength), Some(BINARY)) )