我正在尝试使用Yii::app()->request->sendFile()
在视图中显示图像而不弹出“下载对话框”,但我无法这样做,因为 sendFile 设置Content-Desposition
为attachment
. 我如何使它设置为inline
?
顺便说一句,我使用了 xsendfile 函数,但是因为您需要 Apache 中的 mod-xsendfile 才能使用它而放弃了它。
请帮忙。
如果要在视图中显示图像,则需要使用<img>
标签。
如果您希望返回的内容是图像(在这种情况下谈论视图是没有意义的),那么您需要做的通常不超过
header('Content-Type: image/jpeg');
echo $binaryImageContents;
Yii::app()->end();
这也是sendFile()
原则上所做的,尽管它提供了更多的便利,因为它从文件的扩展名中检测到适当的 MIME 类型并发送一堆额外的 HTTP 响应头(包括不受欢迎的头Content-Disposition
)。你可以自己看看。