Laravel5.5下载

Laravel5.5下载,laravel,laravel-5,download,controller,Laravel,Laravel 5,Download,Controller,我在强制下载时遇到问题: 在我的页面中,我有一行代码: @php $pg = "/downloadWirebird/".$mag->PDF; @endphp <a href="{{ $pg }}">@fa('download')</a>&nbsp;&nbsp 然后,我的控制器中有以下方法: public function downloadWirebird($file) { $file_path = public_path('Wirebird

我在强制下载时遇到问题:

在我的页面中,我有一行代码:

@php
  $pg = "/downloadWirebird/".$mag->PDF;
@endphp
<a href="{{ $pg }}">@fa('download')</a>&nbsp;&nbsp
然后,我的控制器中有以下方法:

public function downloadWirebird($file)
 {
 $file_path = public_path('Wirebird/').$file;
 return response()->download($file_path);
 }
但我得到了回应

Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException 文件“/home/sites/sselena.uk.net/public\u html/work/public/Wirebird”不存在

它似乎忽略了文件本身


任何帮助都将不胜感激。

我已经整理好了

查看代码为

  @php
    $pg = "/downloadWirebird/".$mag->PDF;
  @endphp
  <a href="{{ $pg }}">@fa('download')</a>&nbsp;&nbsp
控制器是

public function downloadWirebird($file)
 {
  $file_path = public_path('Wirebird/').$file;
  return response()->download($file_path);
 }

$file
是否已设置?也许您有另一条同名的路线存在冲突?尝试
var\u dump()
dd()
$file
$file\u path
。设置为。该链接等同于,我相信没有其他路线。您提供的链接与您发布的链接代码不同。路线将转到
FrontController@downloadWirebird($id)
它接受id而不是文件名,但是我得到的错误是您发布的错误。你发布的代码应该在你之前评论中链接到的网站上吗?我看不出你更改了什么没有我肯定上传了它。困惑的但它现在起作用了!
Route::get('/downloadWirebird/{file}','DownloadsController@downloadWirebird');
public function downloadWirebird($file)
 {
  $file_path = public_path('Wirebird/').$file;
  return response()->download($file_path);
 }