我正在尝试使用Laravel的队列发送电子邮件,在此电子邮件中,如果使用此功能存在该文件,我将显示用户的个人资料图片:
public function getProfilePictureAttribute()
{
$path = 'users/' . $this->id . '/picture.png';
if (File::exists(public_path() . $path)) {
return $path;
} else {
return $this->picture_default;
}
}
我在网络上使用相同的功能并且它正常工作,但在电子邮件中,通过工匠和桌面工作,我总是得到默认图片。 我无法弄清楚这一点。
答案 0 :(得分:1)
问题解决了:
public function getProfilePictureAttribute()
{
$path = 'users/' . $this->id . '/picture.png';
if (File::exists(realpath(public_path() . $path))) {
return $path;
} else {
return $this->picture_default;
}
}
答案 1 :(得分:0)
我认为你的文件路径问题,但需要使用绝对路径
$absulate_path = 'your absulate path';
// E:/xampp/htdocs/test_projuect
$path = 'users/' . $this->id . '/picture.png';
if (file_exists($absulate_path.'/'.$path)) {
/* do your code
} else {
echo "file not exit";
}
我认为这会对你有所帮助