I'm using Ok.sendFile to download a file from the server.
For this to work I need to create the file in the local file system of the server.
However, since the server has no use for the file itself and a new file is created per user-request, I'd like to delete the file after the download operation completed.
How can I do this, considering I have already completed my action and returned a Result?
def index = Action {
val fileToServe = generateFile("fileToServe.pdf")
Ok.sendFile(new java.io.File(fileToServe))}
// How can I "clean-up" fileToServe.pdf after the d/l completes?
I recommend you to use
play.api.libs.Files.TemporaryFile
, so that you can useonClose
argument of theOk.sendFile
method.