Laravel开发环境中storage目录图片无法显示求助
解决Laravel存储图片无法在前端显示的问题
核心原因
Laravel的storage/app目录默认不对外暴露,Web服务器(包括内置开发服务器)只能直接访问public目录下的文件,所以直接通过/storage/app/...的URL访问必然失败。
分步解决方案
调整存储路径(推荐)
确保上传时将文件保存到storage/app/public/news目录(而非storage/app/news),这是Laravel预设的公共存储目录。创建存储符号链接
在项目根目录执行Artisan命令,将storage/app/public链接到public/storage:php artisan storage:link执行成功后,你会在
public目录下看到storage软链接。修正前端URL
将原代码中的URL修改为:{{ url('/storage/news/' . $val2->id . '.png') }}注意:如果实际上传的是
jpg文件,要把URL里的.png改成.jpg,扩展名必须和文件一致!
备选方案(不修改上传路径时)
如果坚持将文件存在storage/app/news,可以手动创建单独的符号链接:
ln -s ../storage/app/news public/news
然后前端URL改为:
{{ url('/news/' . $val2->id . '.png') }}
权限检查
最后确认存储目录权限正确:
chmod -R 755 storage/ chmod -R 644 storage/app/news/
内容的提问来源于stack exchange,提问作者Asjid Ali
相关产品推荐
相关产品推荐

