2013-09-05 32 views
8

Tôi cần tạo tài liệu PDF và gửi chúng qua email cũng như làm cho chúng có thể truy cập được bằng liên kết. Gửi qua email là OK, nhưng tôi không biết cách tạo liên kết.Định tuyến Laravel: Cách tạo liên kết tới tệp PDF

Vì tôi sử dụng Laravel 4, tất cả các liên kết sẽ trải qua routes.php. Vậy làm cách nào để tạo liên kết tới một tệp tại một thư mục nhất định?

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

sẽ không làm việc, kể từ khi tuyến đường không được biết đến bởi laravel ...

+0

tôi có câu trả lời cho bạn [ở đây] (http://stackoverflow.com/questions/18412680/jquery-mobile-links-and-radio-buttons-in-accordion-not-working/18412960# 18412960) cách thực hiện điều này – ShapCyber

+0

Nếu bạn đặt tệp PDF trong thư mục công khai, bạn có thể tạo liên kết trực tiếp, bạn đã thử chưa? –

Trả lời

2

Tạo PDF mà ở đâu đó trong thư mục công cộng và sau đó tạo ra một liên kết đến tập tin đó như thế này:

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

OK, điều này sẽ trả về lỗi "Lớp 'URL không tìm thấy" - có thể, bởi vì test.php của tôi không sử dụng laravel nhưng được lưu trữ trong thư mục chung của một ứng dụng laravel ... – user2746374

+0

đã cố gắng nhưng tôi không biết tại sao nó được tải về tự động –

5

Martin Tale là đúng, nhưng đây là một cách khác để hoàn thành tương tự bằng cách sử dụng Lưỡi của Laravel:

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

Tôi thích điều này nhất – Metropolis

0

nếu bạn đang sử dụng tính năng MAIL laravel 4 của bạn có thể thêm video này vào nó

$message->attach($pathToFile); 

nhưng .pdf trong thư mục công cộng của bạn dưới một thư mục pdf và điều đó sẽ làm cho nó:

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

cùng lon cho một liên kết mà bạn có thể thêm vào email

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

Bạn không cần một tuyến đường để tạo liên kết có thể được thực hiện bằng lưỡi dao.

8

Để tạo liên kết đến tệp hoặc thư mục thực, bạn không muốn chạy qua ứng dụng của Laravel (ví dụ: thông qua index.php), hãy sử dụng URL::asset().

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

Giả định bạn đã tạo tệp PDF thực trên máy chủ mà bạn muốn liên kết đến. Nếu tệp PDF của bạn là động và được tạo/truy xuất thông qua ứng dụng Laravel của bạn, bạn nên sử dụng URL::to(), URL::route() hoặc tương tự.

+0

làm thế nào tôi có thể làm điều đó trong laravel-5.3 –

Các vấn đề liên quan