【发布时间】:2018-07-20 12:48:05
【问题描述】:
我必须为每个用户上传一些文件,这些文件不应该公开访问。
当一个用户被创建时,我正在使用-
在存储目录中创建一个文件夹Storage::makeDirectory($user->ref_id);
现在我有一个文件表,用于存储文件详细信息。这是上传文件和保存数据库路径的代码。
$this->validate($request, [
'file' => 'required|mimetypes:image/png,image/jpeg,application/pdf',
]);
$user = Auth::user();
$filename = time() . '.' . $request->file->getClientOriginalExtension();
$path = $request->file('file')->storeAs($user->ref_id, $filename);
$user->files()->create(['file_name' => $path]);
文件存储成功。现在,当用户登录时,我想在视图中显示该文件的预览。
任何帮助,我该怎么做??
【问题讨论】:
-
运行
php artisan storage:link -
仍然无法访问文件,文件当前存储在 storage/app/{user->ref_id} 文件夹中
-
显示您访问文件的方式
-
-
试试
{{asset('app/public/'.$file->file_name)}}
标签: php laravel eloquent laravel-blade