Its very easy to download files in symfony. Create a proper action and do something like this , i have assumes that files are stored in the database and its a pdf file. But you can assign any file by storing the file type in the database.
public function executeDownloadFile(sfWebRequest $request) { $yourfileData = '' // get your file data from the database $this->getResponse()->clearHttpHeaders(); $this->getResponse()->setHttpHeader('Content-Disposition', 'attachment; filename='. 'myfile.pdf'); $this->getResponse()->setContentType('application/pdf'); $this->getResponse()->sendHttpHeaders(); $this->getResponse()->setContent($yourfileData); return sfView::NONE; } If you need to set http headers private function setHttpHeaders($size, $fileName, $contentType='application/csv') { $this->getResponse()->clearHttpHeaders(); $this->getResponse()->addCacheControlHttpHeader('Cache-control', 'private'); $this->getResponse()->setHttpHeader('Content-Description', 'File Transfer'); $this->getResponse()->setContentType($contentType, TRUE); $this->getResponse()->setHttpHeader('Content-Length', (string) $size, TRUE); $this->getResponse()->setHttpHeader('content-transfer-encoding', 'binary', TRUE); $this->getResponse()->setHttpHeader('Content-Disposition', 'attachment; filename=' . $fileName, TRUE); $this->getResponse()->sendHttpHeaders(); }
No comments:
Post a Comment