Мы пытаемся отправить клиенту загруженные вложения (обслуживаемые из базы данных в виде BLOB-объектов) через php с Zend Framework.
Этот код отлично работает для Excel97 / Word97.
if ($this->getResponse()->canSendHeaders(false)) {
$response = $this->getResponse();
$response->setHeader('Pragma', 'public', true)
->setHeader('Expires', '0', true)
->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
->setHeader('Content-Type', 'application/force-download', true)
->setHeader('Content-Type', 'application/octet-stream', true)
->setHeader('Content-Type', 'application/download', true)
->setHeader('Content-Disposition', "attachment;filename=$filename", true)
->setHeader('Content-Transfer-Encoding', 'binary', true)
->setBody($data) // binary
->sendHeaders();
}
Но не работает для Excel2007 / Word2007.Он сообщает «В файле есть ошибка» и пытается ее исправить.
Есть предложения?