0

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

我怎样才能做到这一点?

4

1 回答 1

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...

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

于 2013-10-25T17:05:20.377 回答