Laravel Response ::单击按钮时下载不工作且未下载pdf文件

时间:2014-08-22 15:22:50

标签: php laravel laravel-4

我正在尝试在菜单栏中实现链接,这样当用户点击链接时,将自动下载pdf文件,并且不应导航到其他页面。

在我的main.blade.php中,包含一个菜单栏,我有这个链接:

<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/php/timetable/public/download">Help</a>

其中 $ _ SERVER ['SERVER_NAME'] 是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没有下载。

我真的需要一些帮助!我哪里出了什么问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用{{ URL::to('/download') }}代替$_SERVER['SERVER_NAME']... 或在你的刀片

echo link_to('download', $title, $attributes = array(), $secure = null);

它会写出所有<a></a>内容

对于控制器中的路径,您可以删除文件路径中的public,如此

public_path() . '/download/';