我试图从页面上制作用户下载文件。但是,每当我点击下载按钮时,都会出现此错误:
在此服务器上找不到请求的资源/下载。
这是我的代码。
查看:
<a href="/download/file_name" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>
控制器:
public function getDownload($file_name) {
$file_path = public_path('files/'.$file_name);
return response()->download($file_path);}
路线:
Route::get('/download/{file}', 'DownloadFileController@getDownload');
显示的错误是 ::
http://127.0.0.1:8000/download无法加载资源:服务器响应状态为404(未找到)
我只是不明白,如何解决这个问题?
并显示
未定义的变量:file_name(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php)(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload .blade.php)
当我使用时:
<a href="{{ URL::to('/download/'.$file_name) }}" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>
但是,
可以正常使用<a href="/download/php_tutorial.pdf" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>
但是,我希望用户从下载文件夹中的几个文件中进行选择。但是,不知道该怎么做。试过几种方法,但没有用。
我也尝试过:
<a href="{{route('upload')}}" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>
我实际上是在试图显示正在上传的文件,但是没有用。
但是,它显示:
路线[上传]未定义。 (查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php)(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php)
但是,路线:
Route::get('/upload', 'FormUploadController@upload');
Route::post('upload', 'UploadController@upload');
答案 0 :(得分:1)
您需要传递文件名:
<a href="/download/Guide.pdf" ....>Download Brochure</a>
如果你没有传递文件名,Laravel会寻找这条路线:
Route::get('/download', 'DownloadFileController@getDownload');
答案 1 :(得分:1)
我认为您的代码需要更新如下:
对于控制器
public function getDownload($file_name) {
$file_path = public_path().'/files/'.$file_name;
return response()->download($file_path);
}
对于刀片文件:
<a href="{{ URL::to('/download/'.$filename) }}"class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>
<强>更新强>
在这里,请确保$filename
应该从控制器视图传递到Docs。
希望这对你有用!
答案 2 :(得分:0)
在href中你必须添加文件名href =“/ download / file_name”