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