使用 zend 框架在浏览器中直接显示图像
Displaying image directly in browser using zend framework
我正在尝试在直接浏览器中使用 Zend Framework 显示图像。我可以成功显示,但只能显示 PNG 格式。
这是我的代码,当我尝试访问 PNG 图像并在浏览器中显示图像时,它工作正常。
// disable the layout
$this->_helper->layout->disableLayout();
$file = 'http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png';
$logo = file_get_contents($file);
$type = 'image/png';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Length', count($logo), true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;
再次:上面的代码工作正常并在浏览器中正确显示图像但是当我尝试 jpeg/jpg 图像时它给我消息:
图片“http://localhost/zfproject/activity/share/image”因包含错误而无法显示。
这是我用于 JPEG/JPG 图片类型的代码
// disable the view ... and perhaps the layout
$this->_helper->layout->disableLayout();
$file = 'http://localhost/zfproject/public/user/15/0015_19aa.jpg?c=5090';
$logo = file_get_contents($file);
$type = 'image/jpg';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Length', count($logo), true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;
我不知道可能是我做错了什么,我也试过 'image/jpeg' 类型,但它不起作用。
请指教。
提前谢谢你。
试试这个:
$this->_helper->layout->disableLayout();
$file = 'http://localhost/zfproject/public/user/15/0015_19aa.jpg?c=5090';
$logo = file_get_contents($file);
$type = 'image/jpg';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;
我正在尝试在直接浏览器中使用 Zend Framework 显示图像。我可以成功显示,但只能显示 PNG 格式。
这是我的代码,当我尝试访问 PNG 图像并在浏览器中显示图像时,它工作正常。
// disable the layout
$this->_helper->layout->disableLayout();
$file = 'http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png';
$logo = file_get_contents($file);
$type = 'image/png';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Length', count($logo), true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;
再次:上面的代码工作正常并在浏览器中正确显示图像但是当我尝试 jpeg/jpg 图像时它给我消息:
图片“http://localhost/zfproject/activity/share/image”因包含错误而无法显示。
这是我用于 JPEG/JPG 图片类型的代码
// disable the view ... and perhaps the layout
$this->_helper->layout->disableLayout();
$file = 'http://localhost/zfproject/public/user/15/0015_19aa.jpg?c=5090';
$logo = file_get_contents($file);
$type = 'image/jpg';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Length', count($logo), true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;
我不知道可能是我做错了什么,我也试过 'image/jpeg' 类型,但它不起作用。
请指教。
提前谢谢你。
试试这个:
$this->_helper->layout->disableLayout();
$file = 'http://localhost/zfproject/public/user/15/0015_19aa.jpg?c=5090';
$logo = file_get_contents($file);
$type = 'image/jpg';
$response = $this->getFrontController()->getResponse();
$response->setHeader('Content-Type', $type, true);
$response->setHeader('Content-Transfer-Encoding', 'binary', true);
$response->setHeader('Cache-Control', 'max-age=3600, must-revalidate', true);
$response->setBody($logo);
$response->sendResponse();
exit;