DataUrlTwigExtension
Config:
services:
cryptocompress.twig.extension:
class: CryptoCompress\TwigBundle\Extension\DataUrlTwigExtension
tags:
- { name: twig.extension }
Usage:
public function helloAction($name)
{
return array(
'binaryString' => file_get_contents('/path/to/image.png'),
'resource' => fopen('/path/to/image.png', 'r')
);
}
Hello <img src="{{ '/path/to/image.png' | dataUrl }}" alt="red dot 1" />
Hello <img src="{{ binaryString | dataUrlBinary }}" alt="red dot 2" />
Hello <img src="{{ resource | dataUrlResource }}" alt="red dot 3" />
Result:
Hello <img src="data:;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="red dot 1">
Hello <img src="data:;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="red dot 2">
Hello <img src="data:;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="red dot 3">