如何在 Symfony 2.3 中生成数据 URI


How to generate data URI in Symfony 2.3

是否有一个捆绑包或友好的方法来生成文件或将其转换为Symfony 2.3或更高版本中的数据URI表示,并将其包含在JSON响应中?

我该怎么做?

虽然我个人不太熟悉Symfony,但生成base64编码数据URI相当容易:

function base64_uri_file($file, $type = null)
{
    return base64_uri_data(file_get_contents($file), $type);
}
function base64_uri_data($data, $type = null)
{
    $type = $type ? : 'application/octet-stream';
    return sprintf('data:%s;base64,%s', $type, base64_encode($data));
}

这没有考虑错误或任何东西;你可以按照你认为合适的方式处理它。无论如何,那么您可以:

echo base64_uri_file('/windows/twain.dll', 'application/x-msdownload'); 
// data:application/x-msdownload;base64,TVqOAQEAAAAEAAAA//8AALgAAAAAAAAAQAAAAA...

将这些调用合并到响应生成管道中,您应该很好。