下载后如何重定向?

时间:2017-09-13 09:06:55

标签: php laravel

我有以下功能下载pdf文件

public function download($id) {
        $detail = pesanmakam::findOrFail($id);
        $name = date('YmdHis') . ".pdf";
        $data = PDF::loadView('guest/log/pdf', compact('detail'))->setPaper('a4')->setWarnings(false)->save('myfile.pdf');
        return $data->download($name);
    }

上面的下载功能工作正常,但它只是停留在同一页面上。下载成功后,是否可以将其重定向到另一个页面?

4 个答案:

答案 0 :(得分:1)

您不能因为强制下载文件是使用HTTP标头而重定向是基于相同的。所以你不能同时做到这两点。

您可以在here

这个其他主题找到更多信息

答案 1 :(得分:0)

Read it

public function download($id) {
        $detail = pesanmakam::findOrFail($id);
        $name = date('YmdHis') . ".pdf";
        $data = PDF::loadView('guest/log/pdf', compact('detail'))->setPaper('a4')->setWarnings(false)->save('myfile.pdf');
       // return $data->download($name);
        return Redirect::to($url);//$url > where u want to go
    }

答案 2 :(得分:0)

在函数调用

之后粘贴以下行
header('Location: http://www.example.com/');

假设您调用了函数

$down = download(10);
//then just below it write like
header('Location: http://www.example.com/');

而不是http://www.example.com将页面网址放在要下载后重定向的位置。

答案 3 :(得分:0)

试试这个:

public function download($id) {
        $detail = pesanmakam::findOrFail($id);
        $name = date('YmdHis') . ".pdf";
        $data = PDF::loadView('guest/log/pdf', compact('detail'))->setPaper('a4')->setWarnings(false)->save('myfile.pdf');
        $data->save('folder_name/'.$name)
        return Redirect::to('url')
    }