2013-09-05 11 views
8

Potrzebuję wygenerować dokumenty PDF i wysłać je e-mailem, a także udostępnić za pomocą linku. Wysyłanie przez e-mail jest OK, ale nie mam pojęcia, jak utworzyć link.Routing Laravel: Jak utworzyć łącze do pliku PDF

Odkąd używam Laravel 4, wszystkie linki przechodzą przez routes.php. Jak utworzyć link do pliku w danym katalogu?

<a href="http://my.domain.org/assets/pdf/file.pdf">Link</a> 

nie będzie działać, ponieważ trasa nie jest znana przez laravel ...

+0

mam odpowiedź dla Ciebie [tutaj] (http://stackoverflow.com/questions/18412680/jquery-mobile-links-and-radio-buttons-in-accordion-not-working/18412960# 18412960) to jak to zrobić – ShapCyber

+0

Jeśli umieścisz plik PDF w swoim katalogu publicznym, możesz utworzyć bezpośredni link, czy próbowałeś go? –

Odpowiedz

2

Tworzenie PDF, że gdzieś w katalogu publicznym, a następnie utworzyć link do tego pliku tak:

URL::to('path/to/public/directory/file.pdf') 
+0

OK, to wywołuje błąd "nie znaleziono" adresu URL "Class" - prawdopodobnie, ponieważ mój test.php nie używa laravel, ale jest przechowywany w publicznym katalogu aplikacji laravel ... – user2746374

+0

próbowałem, ale nie wiem dlaczego jest pobierany automatycznie –

5

Martin Tale jest w porządku, ale jest to kolejny sposób realizacji tego samego używając laravel Łowca:

{{ link_to('/assets/pdf/file.pdf', 'Link') }} 
+0

Podoba mi się to najlepiej – Metropolis

0

, jeśli używasz funkcji korespondencji laravel 4 mogą Państwo dodać do niego

$message->attach($pathToFile); 

ale .pdf w katalogu publicznym pod folderze pdf i że uczyni go:

$message->attach('pdf/mypdffile.pdf'); 

To samo można być dla łącza, które można dodać do wiadomości e-mail

{{ URL::to('pdf/mypdffile.pdf') }} 

nie należy potrzebują drogę do utworzenia łącza można to zrobić przez ostrza.

8

Aby wygenerować łącze do fizycznego pliku lub katalogu, którego nie chcesz używać w aplikacji Laravel (np. Poprzez index.php), użyj URL::asset().

URL::asset('assets/pdf/file.pdf'); 

Zakładamy, że utworzyłeś fizyczny plik PDF na swoim serwerze, do którego chcesz utworzyć łącze. Jeśli twój plik PDF jest dynamiczny i generowany/pobierany za pomocą aplikacji Laravel, powinieneś użyć URL::to(), URL::route() lub podobnego.

+0

jak mogę to zrobić w laravel-5.3 –

Powiązane problemy