【发布时间】:2018-06-18 16:33:59
【问题描述】:
我已经使用这些代码行在 laravel 中上传了我的图片:
if($request->hasFile('filea'))
{
$filepath = $request->filea->getClientOriginalName();
$request->filea->storeAs('public/upload',$filepath);
}
并将文件名存储在数据库中。图像已成功存储在我的硬盘中。当我尝试在模板中渲染图像时,我使用了这个:
<img src="{{ asset('public/upload/'.$user->imagepath) }}/>"
这将创建此链接:
<img src="http://localhost:28965/public/upload/IMG_20170906_105035.jpg"/>
也试过了:
<img src="{{ asset('upload/'.$user->imagepath) }}/>"
但没有渲染图像。这里有什么语法错误
【问题讨论】:
-
您不应该将 public 与asset() 一起使用,因为asset() 已经使用了web 目录。很难知道您是如何设置本地 Web 服务器的,但是如果您正确配置了 APP_URL 并且文件存在于 public/uploads 中,那么最后一个示例应该可以工作。
-
如何设置APP_URL?在哪个文件中?
-
APP_URL 应该在您的 .env 文件中作为应用程序根目录的 url。
-
一切似乎都很完美。APP_URL=localhost 写在 .env 文件中
-
这似乎不是 laravel 的问题,如果你的 url 没问题但图片没有显示。可能是网络服务器配置的问题。