1: <?php
2: namespace Budovy;
3:
4: class DownloadPresenter extends BasePresenter {
5:
6: public $documentRepository;
7:
8:
9: public $httpResponse;
10:
11: function actionFile($id) {
12: $item = $this->documentRepository->findById($id);
13: $meta = $this->documentRepository->getDocumentsMeta($id);
14:
15: $this->httpResponse->setHeader('Content-Length', $meta->size);
16: $this->httpResponse->setHeader('Content-Description', 'File Transfer');
17: $this->httpResponse->setHeader('Content-Transfer-Encoding', 'binary');
18: $this->httpResponse->setHeader('Content-Type', $meta->mime);
19: $this->httpResponse->setHeader('Content-Disposition', sprintf('attachment; filename="%s"', addslashes($meta->filename)));
20:
21: $this->sendResponse(new \Nette\Application\Responses\TextResponse($item->data));
22: }
23: }