* 下载文件
* * @param string $downloadFile * @param string $downloadName */ private function downLoad($downloadFile, $downloadName) { header ( "Cache-Control: public" ); header ( "Content-Description: File Transfer" ); header ( 'Content-disposition: attachment; filename=' . $downloadName ); // 文件名 header ( "Content-Type: application/zip" ); // zip格式的 header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件 header ( 'Content-Length: ' . filesize ( $downloadFile ) ); // 告诉浏览器,文件大小 @readfile ( $downloadFile ); } ------------------------------------------------------------------------------------/**
* 客户授信申请附件下载 */ public function attachmentDownloadAction(){ $request = $this->getRequest(); $filePath = $request->getParam('filePath'); $filePath = Zend_Filter::filterStatic ( $filePath, 'StringTrim' ); $filePath = Zend_Filter::filterStatic ( $filePath, 'StripTags' ); $filePath = APPLICATION_PATH."/../public".$filePath; $fileName = $request->getParam('fileName'); $fileName = Zend_Filter::filterStatic ( $fileName, 'StringTrim' ); $fileName = Zend_Filter::filterStatic ( $fileName, 'StripTags' ); $fileName = iconv("UTF-8", "GB2312", $fileName); if (file_exists($filePath)) { $this->attachmentDownload($filePath,$fileName); } else { throw new Member_Model_NotExist_Exception('附件不存在!'); } } private function attachmentDownload ($filePath,$fileName) { $file = file_get_contents($filePath); $this->getResponse() ->setBody($file) ->setHeader('Content-Type', 'application/octet-stream') ->setHeader('Content-Disposition', 'attachment; filename="'.$fileName.'"') ->setHeader('Content-Length', strlen($file)); $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); header('Set-Cookie: fileDownload=true; path=/'); $this->getResponse()->sendResponse(); }