我正在尝试实现菜单栏中的链接,这样当用户单击链接时,pdf文件将被自动下载,并且它不应该导航到其他页面。
在我的main.blade.php中,包含一个菜单栏,我有这个链接:
<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/php/timetable/public/download">Help</a>
where $_SERVER['SERVER_NAME'] is localhost。
在我的routes.php中:
Route::get('/download', array('uses'=>'MainController@getDownloadHelp'));
在我名为MainController的控制器中:
public function getDownloadHelp()
{
$file= public_path(). "/public/download";
$filename = 'help.pdf';
$headers = array(
'Content-Type' => 'application/pdf',
);
return Response::download($file, $filename, $headers);
}
PDF文件存放在/public/download/help.pdf
我现在面临的问题是,当我点击菜单栏上的"帮助"链接时,它将我重定向到localhost/download这不是我想要的。而且,pdf文件也没有下载。
我真的需要一些帮助!我在哪里做错了?
您可以尝试使用{{ URL::to('/download') }}
而不是$_SERVER['SERVER_NAME']...
或者在你的刀刃
echo link_to('download', $title, $attributes = array(), $secure = null);
它会写所有的<a></a>
也许你可以像这样删除文件路径中的public
public_path() . '/download/';