如何在Larvel中对响应使用重定向

时间:2019-05-02 08:10:38

标签: laravel response response.redirect

如何在Laravel中使用带有响应的重定向。我想在下载后下载一些文档,我想重定向此页面以获取烤面包机成功消息。

 if(isset($request->document_id))
        {
            echo "Set";
            $document = Document::find($request->document_id)->pluck('docpath')->first();
            echo $document;
            echo $document_id = $request->document_id; 
            echo $pathToFile = public_path()."\\".$document;
            Session::flash("success", "Your File Downloaded Successfully!");
            return redirect()->back();
            return Response::download($pathToFile);

        }

但无法正常工作,或者如何在响应中使用重定向。

1 个答案:

答案 0 :(得分:0)

最后,我花了很多时间解决了这个问题,首先我在控制器中设置了一个具有文档ID的会话,并重定向回upload.blade.php页面和脚本的Blade页面部分具有会话变量的文档ID,并将此ID传递给我的文档下载路径,并在web.php中注册用于下载文档的路径,并在jquery_download函数中返回响应download()。以下是代码

#############插入文档功能
 if(isset($request->document_id))
        {

            $document = Document::find($request->document_id)->pluck('docpath')->first();
            echo $document;
            echo $document_id = $request->document_id; 
            echo $pathToFile = public_path()."\\".$document;
            // Session::flash("success", "Your File Downloaded Successfully!");
           Session::flash("successTo", "$document_id");
           return redirect()->back();
            // return Response::download($pathToFile);

        }
#####################上传刀片
 <script>
    @if(Session::has('successTo'))
    $(document).ready(function () {
        id  = {{ Session::get('successTo') }};
        window.location.href = "/download/documenta/"+id;
    });

    @endif
</script>
##################### WEB.php
 Route::get('/download/documenta/{id}', 'DocumentController@jquery_download')->name('jquery_download');
################在控制器中下载文件功能
 public function jquery_download($id)
    {
        $document = Document::find($id)->pluck('docpath')->first();
        echo $pathToFile = public_path()."\\".$document;
        return Response::download($pathToFile);
    }