以下代码:
if($file = $mongoGridFS->findOne(array('_id' => new MongoId($fileId))))
{
$fileName = $file->file['filename'];
$fileBytes = $file->getBytes();
header('Content-type: image/jpeg');
header("Content-Length: " . strlen($fileBytes));
ob_clean();
echo $fileBytes;
}
将Mongo的响应作为.jpg文件返回。
如何将此回复包含在某些HTML中?例如
<div id='container'>
<img ... /> <!-- image generated by script and stored in $fileBytes -->
<br>
<span class='description'>This is image</span>
</div>
我不希望<img src='...'>
链接到文件系统上的已保存文件。
这可能吗?
答案 0 :(得分:1)
您无法在同一个http响应中返回两个资源。您可以做的是内联图像数据(有关浏览器兼容性和内嵌图像的其他可能问题的更多详细信息,请参阅Embedding Base64 Images)。类似的东西:
<img src="data:image/jpeg;base64,<?=base64_encode($fileBytes)?>" />