【发布时间】:2022-01-05 14:27:26
【问题描述】:
我想从 Storage/app/public 文件夹下载一个文件。
不知何故,如果没有任何错误消息,它就无法工作。
下面是我试过的代码。
web.php
Route::get('/viewAllFile',[DownloadController::class, 'downfunc']);
Route::post('download/{id}',[DownloadController::class, 'download']);
下载控制器.php
class DownloadController extends Controller
{
public function downfunc()
{
$downloads = DB::table('files')->get();
return view('download.viewfile', compact('downloads'));
}
public function download($file_name)
{
//Storage::disk('local')->put('example.txt', 'Contents');
$file = Storage::disk('public')->get($file_name);
$filepath = storage_path("app/{$data->file}");
return \Response::download($filepath);
}
}
viewfile.blade.php
@foreach($downloads as $down)
<tr>
<td>{{$down -> name}}</td>
<td>{{$down -> directory}}</td>
<td>{{$down -> updated_at}}</td>
<td>
<a href="{{url('/download/'.$down->name)}}" download="{{$down-> name}}">
<button type="button" class="btn btn-primary">Download</button>
</a>
</td>
</tr>
@endforeach
【问题讨论】:
-
所有可下载的文件都在
storage/app/public目录的根目录下还是有些嵌套? -
都保存在storage/app/public/hi目录下