1

我正在尝试查看存储文件夹中是否存在文件。即使文件存在,它也会在服务器中返回 false。在我的本地环境中,它运行良好。

我正在尝试为用户存储头像。当我检查头像是否存在时,它返回 false。

店铺头像:

    $avatar = $request->file('avatar');
    $user   = Auth::user();

    if($avatar && $file = $avatar->isValid()) {
        $file = $request->file('avatar');
        $path = $user->avatar_path;
        $image = Image::make($file)->fit(100,100)->encode('jpg');
        Storage::put($path, $image);

        $url = Storage::url($path);
    }

检查头像是否存在

    $user = Auth::user();
    if ($user->has_avatar) {
        Storage::delete($user->avatar_path);
    }

在 user.php 模型中有头像方法

public function getHasAvatarAttribute()
{
    return Storage::disk('public')->has('avatars/'.md5($this->id . $this->email).'.jpg');
}

头像路径功能

public function getAvatarPathAttribute()
{
    return 'public/avatars/'. md5($this->id . $this->email) . '.jpg';
}

当我在我的机器上测试时,一切都很好。在服务器上,即使头像存在,它也会返回 false。

4

1 回答 1

0

我不能发表评论,所以我会在这里留下这个答案。在生产中它不起作用?就像在实时服务器中一样?也许是linux服务器?你在 Windows 上运行本地开发?看看我要去哪里?你的路径可能是错误的。我的意思是命名。即使aA或反之亦然可能会影响路径。您的文件命名也是如此。和路径命名。avatar/something并且/avatar/something完全不同。

如果是这样,请告诉我。

于 2019-08-14T08:54:30.767 回答