You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel应用中img src无法从本地C盘加载图片求助

解决Laravel无法加载本地C盘图片的问题

为什么你的代码不行

浏览器有严格的安全限制,不允许网页直接通过file://协议访问本地文件系统——不管你是本地运行Laravel还是部署到服务器,网页是在浏览器沙箱里运行的,直接读C盘文件会被拦截,这是浏览器的安全机制,防止恶意网页窃取本地文件。

正确的解决方法

方法1:把图片移到Laravel的公共目录

Laravel的public目录是Web服务器对外暴露的根目录,只有放在这里的文件才能通过HTTP协议被访问到:

  • 在public文件夹下新建images目录(比如public/images/)
  • 把桌面AISImageFolder里的图片移到这个目录下
  • 修改blade里的代码,用Laravel的asset()辅助函数生成正确的URL:
<img src="{{ asset('images/' . $currentUser->image_path) }}" alt="..." class="w-100 border-radius-lg shadow-sm">

方法2:创建软链接映射本地文件夹(适合不想移动图片的情况)

如果不想把图片移到项目里,可以给Laravel的public目录创建软链接,指向桌面的图片文件夹:

  • 打开终端(Windows用PowerShell),进入Laravel项目根目录,执行命令:
New-Item -ItemType SymbolicLink -Path "public/ais-images" -Target "C:\Users\Name\Desktop\AISImageFolder"
  • 然后blade里的代码改成:
<img src="{{ asset('ais-images/' . $currentUser->image_path) }}" alt="..." class="w-100 border-radius-lg shadow-sm">

注意:软链接需要管理员权限创建,且部署到服务器时,这种方式仅适用于服务器本地的文件夹,无法访问你本地桌面的文件。

方法3:用Laravel的文件存储系统(更规范的做法)

如果是用户上传的图片,推荐用Laravel的文件存储功能:

  • 在config/filesystems.php里配置磁盘,指向目标文件夹
  • 用Storage::url()生成访问链接,需确保Web服务器有权限访问该目录并配置正确的访问规则。

内容的提问来源于stack exchange,提问作者Genbert C. Dacudao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:51:11