我正在使用托管程序部署我的laravel项目,我将所有文件上传到public_html文件夹中,然后进行了应用程序正常运行所需的所有必要更改。该应用程序似乎可以正常工作很好,但是当用户尝试上传图像时,图像被存储在storage / app / public / avatar文件夹中,并且存储在public / storage / avatar文件夹中,因为我使用了符号链接来链接两个文件夹,但是仍无法查看照片由用户。这就是我回忆起我的照片
div class =“ profile-avatar” style =“ width:400px; height:500px; border-radius:0%; background-image:url('@ if(Auth :: user()-> avatar == “ avatar.png”){{url(“ / imgs /”。Auth :: user()-> avatar)}} @else {{url(“ / storage / avatar /”。Auth :: user()->头像)}} @endif');“
请帮助我解决这个问题
答案 0 :(得分:2)
由于您没有SSH访问权限,无法在Shell中运行某些命令, 上载图片时尝试此操作
1。将图像存储在此处:public_path()。 'img / filename.jpg'*
2。将'img / filename.jpg'保存在数据库中
3。使用url('img / filename.jpg')
生成图像URL//输出http://www.your-domain.com/img/filename.jpg
如果您可以管理 shell访问 ,请尝试以下操作:
删除当前的app / public / avatar目录,该目录在存储文件夹中创建。 还要在公共文件夹中删除您的存储文件夹!
之后,通过ssh cli,将cd插入laravel项目文件夹,并通过以下命令创建符号链接
ln -sr storage public/storage
希望它将解决您的问题。我有同样的问题,我的问题是通过第二种方法解决的(我可以通过ssh访问服务器)。