我的代码中有一个看起来像这样的资源:
<img src="upload/file.jpg">
当我打开资源时,它看起来像“myapp.dev/en/upload/file.jpg”
网站如何确定“基本网址”是“myapp.dev/en”而不是“myapp.dev”?该文件可在“myapp.dev/upload/file.jpg”上访问,我可以对其进行硬编码,但我想要“正确”的解决方案。
如果这有助于我使用laravel
答案 0 :(得分:1)
链接的工作方式与操作系统中的路径相同。以/
开头的链接是相对于根目录(您的域名)的,如果您前面没有任何/
它相对于当前页面。因此,从myapp.dev/en/
到upload/file.jpg
的关联会产生myapp.dev/en/upload/file.jpg
,链接到/upload/file.jpg
会指向root,因此您获得myapp.dev/upload/file.jpg
希望这确实解释了如何获得正确的文件链接的基础知识。 Laravel为获取文件提供了一些辅助函数,但我认为在开始使用魔法之前先了解并理解基础知识是很好的
答案 1 :(得分:0)
示例:<img src="{!! asset('upload/file.jpg') !!}">
会向您的img返回正确的网址。
如果您使用asset()辅助函数,则网址由app('url')
生成,其返回UrlGenerator class
。
asset()辅助函数如下所示:
function asset($path, $secure = null)
{
return app('url')->asset($path, $secure);
}
laravel documentation中还有其他辅助函数,请查看灵感