PHP Symfony2:响应后删除临时文件

Eri*_*ric 3 php symfony symfony-2.7

我有一个生成图像的控制器,并在响应中返回图像.

use FOS\RestBundle\Controller\Annotations as Rest;
use Symfony\Component\HttpFoundation\BinaryFileResponse;

...

/**
 * @Rest\Get("/image/{name}")
 */
public function getImage($name) {
    $imageService = $this->get('image.service');
    $tempImage = $imageService->genImage($name);
    return new BinaryFileResponse($tempImage);
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但临时图像永远不会被删除.

发送响应后如何删除临时图像?

Eri*_*ric 6

我读了BinaryFileResponse的实现.原来有一个公共方法deleteFileAfterSend

我只需要

return (new BinaryFileResponse($tempImage))->deleteFileAfterSend(true);
Run Code Online (Sandbox Code Playgroud)