Я ищу способ отображения страницы диалога загрузки браузера, когда пользователь нажимает кнопку загрузки.
Это мой HTML -
<span id="ajaxdownloadcontent" class="ajaxaction ajaxbutton"
onclick="javascript:AjaxDownloadContent('http://localhost/ajax/download/pic/12')">
Download </span>
Мой Javascript -
function AjaxDownloadContent(path) {
$.post(path);
}
Мой контроллер, AjaxController.php -
class AjaxController extends Zend_Controller_Action {
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(TRUE);
}
}
public function downloadAction() {
if ($this->getRequest()->isXmlHttpRequest()) {
$this->getResponse()
->clearAllHeaders()
->setHeader('Content-Disposition', 'attachment;filename="Google_Logo.gif"')
->sendHeaders()
->setBody(file_get_contents("http://www.google.com/logos/logo.gif"))
->sendResponse();
return true;
}
Так выглядят заголовки в firebug (обратите внимание, что тип содержимого был изменен на text / html)
Я думаю, что это из-за следующего кода в загрузочном.*
Как принудительно загрузить файл (в данном случае изображение) через AJAX, когда пользователь нажимает кнопку загрузки?