/** * Método abrirarquivo() * Abrir arquivo em binário * @access public * @param void * @return void */ public function abrirarquivoAction() { $this->autenticacao(); $id = $this->_request->getParam("id"); // Configuração o php.ini para 10MB @ini_set("mssql.textsize", 10485760); @ini_set("mssql.textlimit", 10485760); @ini_set("upload_max_filesize", "10M"); $response = new Zend_Controller_Response_Http(); $tbArquivo = new tbArquivo(); // busca o arquivo $resultado = $tbArquivo->buscarArquivo($id); // erro ao abrir o arquivo if (!$resultado) { $this->view->message = 'Não foi possível abrir o arquivo!'; $this->view->message_type = 'ERROR'; } else { // lê os cabeçalhos formatado foreach ($resultado as $r) { $this->_helper->layout->disableLayout(); // Desabilita o Zend Layout $this->_helper->viewRenderer->setNoRender(); // Desabilita o Zend Render Zend_Layout::getMvcInstance()->disableLayout(); // Desabilita o Zend MVC $this->_response->clearBody(); // Limpa o corpo html $this->_response->clearHeaders(); // Limpa os headers do Zend $this->getResponse()->setHeader('Content-Type', 'application/pdf')->setHeader('Content-Disposition', 'attachment; filename="' . $r->nmArquivo . '"')->setHeader("Connection", "close")->setHeader("Content-transfer-encoding", "binary")->setHeader("Cache-control", "private"); $this->getResponse()->setBody($r->biArquivo); } } }