Пример #1
0
 public function download($articleId, $fileName)
 {
     try {
         $articleRow = ArticleDao::findById($articleId);
     } catch (NoElementException $e) {
         App::abort(404, 'Article not found');
     }
     $article = ArticleService::getEnrichedArticle($articleRow);
     $edition = EditionDao::findById($articleRow->journal_edition_id);
     $journal = JournalDao::findById($edition->journal_id);
     $original_filename = ArticleService::getFilePath($article, $journal, $edition);
     $new_filename = ArticleService::getArticleFileName($journal->prefix, $edition->issue_year, $edition->number_in_year, $article->sort_order);
     if ($fileName != $new_filename) {
         return redirect(route('article.download', [$articleId, $new_filename]), 301);
     }
     $headers = array("Content-Type: application/pdf");
     return response()->download($original_filename, $new_filename, $headers);
 }