我有一个简单的表单,用户可以上传文件。文件上传到 public / uploads 目录。
在表单下方列出了 public / uploads 目录中的所有文件。
所以,这是我的控制器方法:
public function store(Request $request)
{
if ($request->hasFile('file_upload')) {
if ($request->file('file_upload')->isValid()) {
$request->file('file_upload')->move(public_path().'/uploads/', $request->file('file_upload')->getClientOriginalName());
}
}
$list_of_files = \File::allFiles(public_path().'/uploads/');
return view('foo', compact('list_of_files'));
}
以下是显示文件列表的View文件:
<ul>
@foreach($list_of_files as $file)
<li><a href="#">{{ basename($file) }}</a></li>
@endforeach
</ul>
我应该在 href =“”中添加哪些文件链接(以及我需要哪些路线以便这些链接有效)?
答案 0 :(得分:1)
您可以使用asset()
帮助程序生成公共目录的URL。
鉴于您将文件存储在uploads
目录中。您可以像<li><a href="{{ asset('uploads/' . basename($file)) }}">{{ basename($file) }}</a></li>
您只需要确保basename($file)
是文件的名称,这样当他们点击链接时,它实际上会将文件带到文件中。
完整:
<ul>
@foreach($list_of_files as $file)
<li><a href="{{ asset('uploads/' . basename($file)) }}">{{ basename($file) }}</a></li>
@endforeach
</ul>
答案 1 :(得分:0)
href="/public/{{ basename($file) }}"
应该做的工作是让链接无限制地工作