2015-02-23 84 views
1

我使用的是2.2.3版本的遊戲框架,我上傳文件片段如下之後:文件中播放框架上傳

def process = SecuredAction(false, None, parse.temporaryFile) { 
request => 

    val uploadedFile = request.body.file 

    service.processFile(uploadedFile)  
    ... 

} 

這parse.temporaryFile解析器污染我的臨時文件夾的文件與此類似: requestBody4950142040693742317asTemporaryFile_1424693062067.zip。我想擺脫我的臨時文件夾中的這些文件。任何建議如何防止他們創建或如何刪除後上傳?

+0

做任何答案都能解決您的問題嗎? – 2015-03-17 17:17:14

回答

1

我從來沒有使用Play的上傳,但似乎可以這樣做:

service.processFile(uploadedFile) 
request.body.clean() 
Ok("All done!") 

我假設service.processFile是同步的在這裏。

1

@AndreasDuRietz是正確的,你可以撥打request.body.clean(),這只是一個別名,以刪除底層File。但是,這不是必需的。 TemporaryFile覆蓋finalize,當垃圾收集對象時,它將爲您調用clean()

查看source

+0

但請記住'finalize'永遠不會被調用。 [看看爲什麼](http://stackoverflow.com/a/2506509/1059400) – HEX 2015-09-01 10:43:11