如何在Symfony 2.3中生成数据URI

时间:2013-10-25 16:01:33

标签: php json symfony symfony-2.3 data-uri

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

我该怎么做?

1 个答案:

答案 0 :(得分:4)

虽然我个人对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...

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