无法从 laravel 中的驱动器中删除映像



我在后期控制器中调用销毁方法时无法删除文件(由用户上传(。

我可以将文件上传到我的驱动器 根/公共/上传/附件

这是我的文件系统

'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],

这是我在控制器中尝试过的

public function destroy(Post $post)
{
$post=Post::find($post->id);
Storage::disk('uploads')->delete($post->image);
$post->categories()->detach();
$post->tags()->detach();
$post->delete();
return redirect('admin/post')->with('message','Deleted Sucessfully');
}

我也试过

unlink(public_path().'/uploads/'.$post->image);

但是这两个操作都给出了相同的结果,帖子被删除了,但是当我物理检查附件文件夹时,图像仍然存在

如果您指定磁盘,请尝试它(映像的完整路径(。

Storage::disk('uploads')->delete(public_path().'/uploads/'.$post->image);

Storage::delete($post->image);

并且必须使用

use IlluminateSupportFacadesStorage;

您需要使用文件的完整路径才能将其删除。

https://laravel.com/docs/5.8/filesystem#deleting-files

尝试在Storage::disk('uploads')->delete($post->image);中使用完整路径

最新更新