如何在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);
}
但无法正常工作,或者如何在响应中使用重定向。
答案 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);
}