如何在不使用Laravel自己的public/images
功能的情况下访问assets()
文件夹中存储的图像?
我只想获取存储在images文件夹中的图像的直接URL。
例如:
localhost/webapp/images/stackoverflow.png
请求链接时,我应该获得直接图像。
答案 0 :(得分:31)
如果您在刀片模板中
{{ URL::to('/') }}/images/stackoverflow.png
答案 1 :(得分:15)
我已经创建了自己的资产助手。
首先,我在app/config/assets.php
中定义了资产类型和路径:
return array(
/*
|--------------------------------------------------------------------------
| Assets paths
|--------------------------------------------------------------------------
|
| Location of all application assets, relative to the public folder,
| may be used together with absolute paths or with URLs.
|
*/
'images' => '/storage/images',
'css' => '/assets/css',
'img' => '/assets/img',
'js' => '/assets/js'
);
然后是实际的Asset
类:
class Asset
{
private static function getUrl($type, $file)
{
return URL::to(Config::get('assets.' . $type) . '/' . $file);
}
public static function css($file)
{
return self::getUrl('css', $file);
}
public static function img($file)
{
return self::getUrl('img', $file);
}
public static function js($file)
{
return self::getUrl('js', $file);
}
}
所以在我看来,我可以这样做来显示图像:
{{ HTML::image(Asset::img('logo.png'), "My logo")) }}
或者像这样实现Java脚本:
{{ HTML::script(Asset::js('my_script.js')) }}
答案 2 :(得分:14)
只需将图像放入公共目录(公共/ ...文件夹或直接图像)
公共目录默认由laravel应用程序呈现
我们假设我将图像存储在public/images/myimage.jpg
中
然后在HTML视图中,页面如:(image.blade.php)
<img src="{{url('/images/myimage.jpg')}}" alt="Image"/>
答案 3 :(得分:2)
当您想要访问公共/图像文件夹中的图像时,如果您想在不使用laravel功能的情况下访问它, 使用如下:
pane.setOnDragOver(event ->
{
final Dragboard dragboard;
final DataFormat dataFormat;
dragboard = event.getDragboard();
dataFormat = DataFormat.lookupMimeType("application/x-java-serialized-object");
for (DataFormat df : dragboard.getContentTypes())
{
// Do nothing...
}
if (dragboard.hasContent(dataFormat))
event.acceptTransferModes(TransferMode.COPY);
event.consume();
});
这很好用。
答案 4 :(得分:2)
您只需要在Laravel中使用asset
帮助函数。 (url
助手也可以这种方式使用)
<img src="{{ asset('images/arrow.gif') }}" />
对于绝对路径,请改用public_path
。
<p>Absolute path: {{ public_path('images/arrow.gif') }}</p>
如果要从控制器(后端)提供指向公共图像的URL,则也可以使用asset
,如果需要HTTPS也可以使用secure_asset
。例如:
$url = asset('images/arrow.gif'); # http://example.com/assets/images/arrow.gif
$secure_url = secure_asset('images/arrow.gif'); # https://example.com/assets/images/arrow.gif
return $secure_url;
最后,如果您想直接转到给定路线的图像,则可以重定向至该图像:
return \Redirect::to($secure_url);
更多Laravel helper functions可以在此处找到
答案 5 :(得分:1)
只需使用public_path(),它将找到公用文件夹并对其进行寻址。
<img src=public_path().'/images/imagename.jpg' >
答案 6 :(得分:1)
就我而言,它运行得很好
<img style="border-radius: 50%;height: 50px;width: 80px;" src="<?php echo asset("storage/TeacherImages/{$teacher->profilePic}")?>">
这用于显示文件夹中的图像,希望这对寻找此类代码的人有所帮助