如何在magento管理面板中从订购的项目下载图像


How to download a image in magento admin panel from ordered items

我一直在尝试提供一个到管理面板的链接,用于下载在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