Laravel не может загрузить файл в папку хранения

Я имел обыкновение хранить свои файлы загрузки (изображения) в моей общей папке, но на этот раз я хочу сохранить их в своей папке хранения, и я получаю эту ошибку

Can't write image data to path (C:\laragon\www\mynewsite\storage\images/aboutimage-1522481830.png)

Ошибка исходит от этой строки (где я использую интервенцию / пакет изображений)

Image::make($image)->resize(1200, 600)->save($location);

Моя функция:

if ($request->hasFile('image')) {
        $image = $request->file('image');
        $filename = 'aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
        $location = storage_path('images/' . $filename);
        Image::make($image)->resize(1200, 600)->save($location);

        $oldFilename = $indexabout->image;
        $indexabout->image = $filename;
        Storage::delete($oldFilename);
}

любая идея?

ОБНОВИТЬ

Мои файлы будут загружены в root/storage папка вместо root/storage/app/public/images

это почему?

Обновление 2

Я изменил свою функцию на код ниже, и она загружается туда, где она должна быть загружена, но it does not delete the old image

if ($request->hasFile('image')) {
            $image = $request->file('image');
            $filename = '/aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
            $location = storage_path('app/public/images' . $filename);
            Image::make($image)->resize(1200, 600)->save($location);

            $oldFilename = $indexabout->image;
            $indexabout->image = $filename;
            Storage::delete($oldFilename);
}

1 ответ

РЕШИТЬ

вот окончательный код:

if ($request->hasFile('image')) {
            $image = $request->file('image');
            $filename = 'aboutimage' . '-' . time() . '.' . $image->getClientOriginalExtension();
            $location = storage_path('app/public/images/' . $filename); // root storage path
            Image::make($image)->resize(1200, 600)->save($location);

            Storage::delete('images/' . $indexabout->image); //public storage path
            $indexabout->image = $filename;            
        }

В основном я дал Root/Storage путь для хранения данных и Public/Storage путь для их удаления в методе обновления.

Другие вопросы по тегам