PHP Symfony2:响应后删除临时文件
PHP Symfony2: Delete a temp file after response
我有一个生成图像的控制器,returns 响应中的图像。
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);
}
这很好用,但永远不会删除临时图像。
发送响应后如何删除临时图像?
我阅读了 BinaryFileResponse 的实现。原来有一个 public 方法 deleteFileAfterSend
我刚好需要
return (new BinaryFileResponse($tempImage))->deleteFileAfterSend(true);
我有一个生成图像的控制器,returns 响应中的图像。
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);
}
这很好用,但永远不会删除临时图像。
发送响应后如何删除临时图像?
我阅读了 BinaryFileResponse 的实现。原来有一个 public 方法 deleteFileAfterSend
我刚好需要
return (new BinaryFileResponse($tempImage))->deleteFileAfterSend(true);