У меня есть следующее действие:
public function getFileAction(){
//file data is an array passed from js code
$file_data = (array)Zend_Json::decode($this->getRequest()->getParam('fileData'));
$data = array(
'id_file' => $file_data['id_file']
);
//get file data from business object
$b_file = new Application_Business_File($data);
$file = $b_file->getFile();
//to prevent view rendering
$this->getHelper('viewRenderer')->setNoRender();
$this->getResponse()->setHeader('Content-Type', 'application/pdf')
->setBody($file['fileBlob']);
}
$file['fileBlob']
на самом деле объект BLOB, который извлекается из моей базы данных.
я должен закодировать это прежде, чем поместить это в мое тело ответа?
что я пытаюсь добиться здесь, это заставить это действие отображать для меня pdf-файл, как если бы я делал это в простом php, как это:
filename = "file.pdf";
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file['fileBlob']);
есть предложения?