尝试下载文件时,显示找不到错误路径

时间:2016-11-30 15:00:54

标签: php laravel laravel-5 laravel-5.2

这是我的刀片文件

{!! Html::link(storage_path().'/documents/'.$file->name, $file->name) !!}

这是控制器

public function download($file_name){
    $file_path = storage_path('documents').'/'.$file_name;
    return response()->download($file_path);
}

路线

Route::get('documents/{file}','FilesController@download');

2 个答案:

答案 0 :(得分:1)

您希望将确切路线添加到HTML链接而不是文件路径:

{!! Html::link('/documents/'.$file->name, $file->name) !!}

答案 1 :(得分:0)

使用HTML::link()的正确方法是这样的:

{{ HTML::link(storage_path().'/documents/'.$file->name, 'Download Link')}}

这会产生这样的HTML:

<a href="the_generated_link_here">Download Link</a>
  

详细了解HTML::link()

你也可以使用route()这样的辅助方法:

只需在路由方法的前面添加name()方法,因为它为路由提供了一个通用名称。

Route::get('documents/{file}','FilesController@download')->name('downloads.link');

HTML应如下所示:

<a href="{{ route('downloads.link') }}">Download Link</a>