Акка HTTP - Как удалить файл после загрузки? - PullRequest
0 голосов
/ 27 ноября 2018

При использовании директивы getFromFile (задокументировано здесь: https://doc.akka.io/docs/akka-http/current/routing-dsl/directives/file-and-resource-directives/getFromFile.html#description)

Как обработать завершенную загрузку и удалить файл после загрузки? В конце концов, если это невозможно при использовании этой директивы - как передать файл другим способом и удалитьэто после скачивания?

1 Ответ

0 голосов
/ 08 марта 2019

Насколько я знаю, из коробки Akka-Http ничего не делается для этого.Однако, если вы передаете файл в потоковом режиме, он может быть удален после завершения потока.

            val source = FileIO.fromPath(file.toPath)
              .watchTermination() { case (_, result) =>
                result.onComplete(_ => file.delete())
              }
            complete(HttpEntity(ContentTypes.`application/octet-stream`, source))
...