我一直在尝试提供一个到管理面板的链接,用于下载在sales>order>视图中订购的产品图像。现在它完成了,我已经给出了作为下载的链接
www.example.com/namespace/index(mycontroller)/download(myaction)/name/screen.jpg
在我的控制器的操作中,我得到了文件名作为参数,并且我知道文件的位置。现在,我需要什么才能下载图像?
这是我的控制器动作代码:
public function downloadAction() {
$name = $this->getRequest()->getParam('name');
$file = Mage::getBaseDir(). DS . 'media' . DS . 'catalog' . DS . 'upload' . DS . $name;
$content = readfile($file);
$this->_prepareDownloadResponse($name, $content);
}
当我尝试运行上面的代码时,我会得到以下错误。
无法发送标头;标头已发送
请帮助
readfile()函数读取文件并将其写入OUTPUT BUFFER,并返回从文件读取的字节数。以下是您可以用来替换readfile()函数的解决方案:https://stackoverflow.com/a/10938839/2720986