最近做项目,功能是在用户上传图片成功后显示该图片,在本地测试(WAMP
环境)下正常显示,但是部署到服务器上(LNMP
)下无法显示。
因为LNMP
环境下域名直接指向Laravel
框架下的public
目录,public
为Laravel
框架唯一对外公开的文件夹,而我的图片保存在storage/images
,无法直接访问。查了官网文档发现可以在Linux
下建立文件软链接,但试了以后没成功(可能是我打开的方式不对)。而且这样做在WAMP
下又不能显示图片了
最后,还是决定将图片保存在public/images
,一方面图片资源本来就不是什么隐私文件,本来就是要对外开放的,另一方面,WAMP
和LNMP
环境下都可直接访问此目录,代码不用写两份。
Laravel
框架访问public/images/test.jpg
图片可以这样写:
<img src="{{ URL::asset('images/test.jpg') }}" id="img"/>
不用加public
,因为asset()
方法指向的就是public
目录