Laravel: ошибка при попытке удалить изображение из хранилища
Поэтому, когда пользователь удаляет сообщение на моем веб-сайте, я хочу, чтобы изображение было удалено из хранилища. У меня есть код на месте, и путь должен работать, но по какой-то причине он просто возвращает следующую ошибку:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'App\Http\Controllers\Storage' not found
Почему он ищет каталог контроллера для каталога хранилища? и почему он может найти изображение, когда оно отображает его.
Вот блок кода, который должен удалить изображение:
public function getDeletePost($post_id){
$post = Post::where('id', $post_id)->firstOrFail();
if($post->cover_image != 'noimage.jpg'){
// Delete Image
Storage::delete('/public/cover_images/'.$post->cover_image);
}
$post->delete();
return redirect()->route('dashboard')->with(['message' => 'post deleted']);
}
Я думаю, что вы не импортировали класс Storage
. Вы можете сделать это сверху контроллера:
use Storage;
Или просто напишите так:
\Storage::delete('/public/cover_images/'.$post->cover_image);
включают use Storage;
в верхней части вашего контроллера. Вы используете фасад без импорта своего пространства имен