Synfony
public function executeDownload(sfWebRequest $request) { $response = $this->getContext()->getResponse(); $response->clearHttpHeaders(); $response->addCacheControlHttpHeader('Cache-control','must-revalidate, post-check=0, pre-check=0'); $response->setContentType('application/octet-stream',TRUE); $response->setHttpHeader('Content-Transfer-Encoding', 'binary', TRUE); $response->setHttpHeader('Content-Disposition','attachment; filename='.$request->getParameter('filename'), TRUE); $response->sendHttpHeaders(); // Need to send the HttpHeaders to handle a large file size readfile(readfile('xxx.mp3')); return sfView::NONE; }
* Always dont omit the line to send the headers
Zend
$this->getResponse()->setHeader("Pragma","public"); $this->getResponse()->setHeader("Expires", "0"); $this->getResponse()->setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); $this->getResponse()->setHeader("Cache-Control","private", false); $this->getResponse()->setHeader("Content-Type","audio/x-mp3"); $this->getResponse()->setHeader("Content-Disposition","attachment; filename=\"xxx.mp3\""); $this->getResponse()->setHeader("Content-Transfer-Encoding","binary"); $this->getResponse()->setHeader("Content-Length", filesize('xxx.mp3')); $this->getResponse()->setHeader("Content-Description","File Transfer"); $this->getResponse()->sendHeaders(); // Need to send the HttpHeaders to handle a large file size $this->getResponse()->setBody(readfile('xxx.mp3'));
No comments:
Post a Comment