如何在Laravel中使用带响应的重定向
如何在laravel中使用带有响应的重定向。我试图下载一些文件下载后,我想重定向的烤面包机成功mesasge页面如何在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
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');},是否有其他方法下载文件并重定向回页面?否,可以有一个响应。在您下载的文件中是响应。