我有一个控制器,可以生成图像并在响应中返回图像。
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);
}
这很好用,但临时图像永远不会被删除。
如何在发送响应后删除临时图像?
答案 0 :(得分:5)
我读过BinaryFileResponse的实现。原来有一个公共方法deleteFileAfterSend
我只需要
return (new BinaryFileResponse($tempImage))->deleteFileAfterSend(true);