WideImage拡張機能を使用して、次の関数を使用してデータベースから画像ブロブをレンダリングしようとしています。
protected function renderControlNonEditable()
{
assert('$this->model instanceof Item || $this->model->getModel() instanceof Item');
$content = null;
if ($this->model->files->count() > 0)
{
$content .= '<ul class="attachments">';
foreach ($this->model->files as $fileModel)
{
$filecontent = FileContent::getById($fileModel->id);
$filecontent = $filecontent->content;
$content .= '<li><span class="icon-attachment"></span>';
$content .= FileModelDisplayUtil::renderDownloadLinkContentByRelationModelAndFileModel($this->model,
$fileModel);
$content .= ' ' . FileModelDisplayUtil::convertSizeToHumanReadableAndGet((int)$fileModel->size);
$content .= '</li>';
$content .= WideImage::load($filecontent);
}
$content .= '</ul>';
}
return $content;
}
ただし、$content
がレンダリングされると、イメージがレンダリングされる代わりに、次の BLOB 文字列が表示されます。
�PNG IHDRd$��8:IDATh�ݛy|Օ����
適切なヘッダーが発行されていることを確認するにはどうすればよいですか? これを修正するにはどうすればよいですか?
public function actionImage($model, $fileModel)
{
$filecontent = FileContent::getById($fileModel->id);
$filecontent = $filecontent->content;
$content = WideImage::load($filecontent);
return $content;
}