如何在Laravel中使用带响应的重定向

如何在Laravel中使用带响应的重定向,laravel,response,response.redirect,Laravel,Response,Response.redirect,如何在laravel中使用带有响应的重定向。我试图下载一些文件下载后,我想重定向的烤面包机成功mesasge页面 if(isset($request->document_id)) { echo "Set"; $document = Document::find($request->document_id)->pluck('docpath')->first(); echo $docum

如何在laravel中使用带有响应的重定向。我试图下载一些文件下载后,我想重定向的烤面包机成功mesasge页面

 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);

        }

但是它不起作用,我们如何才能做到这一点,或者我们可以在响应中使用重定向。

最后,在花费了大量时间之后,我找到了该问题的解决方案。首先,我在控制器中设置了一个带文档id的会话,并重定向回upload.blade.php页面,在脚本的blade页面部分,我得到了文档id使用session变量并将此id传递给我的文档下载路径,并在web.php和jquery_下载函数中注册下载文档的路径,返回响应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>
################在控制器中下载文档功能
 public function jquery_download($id)
    {
        $document = Document::find($id)->pluck('docpath')->first();
        echo $pathToFile = public_path()."\\".$document;
        return Response::download($pathToFile);
    }

最后,在花费了大量时间之后,我找到了问题的解决方案。首先,我在控制器中设置了一个带有文档id的会话veritable,并重定向回upload.blade.php页面。在脚本的blade页面部分,我获得了带有会话变量的文档id,并将该id传递给我的文档下载路径,然后注册一个路径要在web.php和jquery_下载函数中下载文档,请返回响应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>
################在控制器中下载文档功能
 public function jquery_download($id)
    {
        $document = Document::find($id)->pluck('docpath')->first();
        echo $pathToFile = public_path()."\\".$document;
        return Response::download($pathToFile);
    }

如果不起作用,请告诉我。否,它不起作用,并且它显示以下对未定义方法Symfony\Component\HttpFoundation\BinaryFileResponse::with()的错误调用。我认为您不能同时重定向和下载(作为响应)。如果需要显示消息和下载文件,可以使用ajax。示例代码返回响应()->json(['message'=>'这是消息测试','pathToFile'=>$pathToFile,]);在ajax代码中:success:function(result){alert(result.message);window.open(result.pathToFile,'.\u blank');},是否有其他方法下载文件并重定向回页面?否,可以有一个响应。在您下载的过程中,文件是响应。如果不起作用,请告诉我。否。它不起作用,并且它显示以下对未定义方法Symfony\Component\HttpFoundation\BinaryFileResponse::with()的错误调用。我认为您不能重定向并同时下载(作为响应)。如果需要显示消息和下载文件,可以使用ajax。示例代码返回响应()->json(['message'=>'这是消息测试','pathToFile'=>$pathToFile,]);在ajax代码中:success:function(result){alert(result.message);window.open(result.pathToFile,'.\u blank');},是否有其他方法下载文件并重定向回页面?否,可以有一个响应。在您下载的文件中是响应。