Я использую The Public Disk
, который является локальным драйвером. Я создаю символическую ссылку от public/storage
до storage/app/public
, используя данную команду php artisan storage:link
. Я ничего не изменил, как упомянуто в документации файловой системы laravel. Но я не могу просмотреть изображение с помощником asset
. File_path
хранится в базе данных, но неподвижные изображения не работают.
Контроллер:
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$slide = new Slider();
$slide->title = $request->title;
$slide->description = $request->description;
//uploading image
if ($request->hasFile('file')) {
$file = $request->file('file');
$slide->file_name = str_random(40) . $file->getClientOriginalName();
$slide->file_size = $file->getClientSize();
$slide->file_mime = $file->getClientMimeType();
$slide->file_path = $file->storeAs('public', $slide->file_name);
}
$slide->status = $request->status;
$slide->save();
return redirect()->route('slider.index')->with('success', 'Done');
}
Я использую storeAs
метод, который получает путь, имя файла.
База данных:
Вид:
<td><img src="{{ asset($slide->file_path) }}" class="content" width="25"></td>
Метод
StoreAs
возвращает путь public/filename.jpg
, а изображения сохраняются в папке public/storage
. Как я могу просмотреть изображения?