【问题标题】:Access images inside public folder in laravel在 laravel 中访问公用文件夹中的图像
【发布时间】:2014-12-04 20:11:40
【问题描述】:

如何在不使用 Laravel 自己的函数(如 assets())的情况下访问存储在 public/images 文件夹中的图像?

我只想获取存储在 images 文件夹中的图像的直接 URL。

例如:

localhost/webapp/images/stackoverflow.png

请求链接时,我应该得到直接图像。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    你只需要在 Laravel 中使用 asset 辅助函数。 (url helper 也可以这样使用)

    <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可以在这里找到

    【讨论】:

      【解决方案2】:

      就我而言,它工作得很好

      <img style="border-radius: 50%;height: 50px;width: 80px;"  src="<?php echo asset("storage/TeacherImages/{$teacher->profilePic}")?>">
      

      这用于显示文件夹中的图像我希望这对寻找此类代码的人有所帮助

      【讨论】:

        【解决方案3】:

        只需使用 public_path() 即可找到公用文件夹并自行寻址。

        <img src=public_path().'/images/imagename.jpg' >
        

        【讨论】:

        • 这是错误的。这是如何工作的......?在实际的 html 中,它看起来像这样:&lt;img src="public_path().'/images/imagename.jpg'"&gt; 'public_path' 在实际的 html 中保持不变
        【解决方案4】:

        当你想访问 public/images 文件夹中的图像并且你想在不使用 laravel 函数的情况下访问它时, 用法如下:

        <img src={{url('/images/photo.type')}} width="" height="" alt=""/>
        

        这很好用。

        【讨论】:

          【解决方案5】:

          只需将您的图片放入公共目录(公共/...文件夹或直接图片)。
          公共目录默认由 laravel 应用程序渲染。
          假设我将图像存储在public/images/myimage.jpg
          然后在您的 HTML 视图中,页面如下: (image.blade.php)

          <img src="{{url('/images/myimage.jpg')}}" alt="Image"/>
          

          【讨论】:

          • 在我的情况下,图像在 storage/app/uploads 文件夹中,这给出了 localhost:8000/uploads/1630736422_e.png" alt="Image"> 但图像没有显示。
          • pbphpsolutions.com/2021/05/… 这解决了我的问题
          【解决方案6】:

          我自己创建了一个资产助手。

          首先我在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')) }}
          

          【讨论】:

            【解决方案7】:

            如果您在刀片模板内

            {{ URL::to('/') }}/images/stackoverflow.png

            【讨论】:

              猜你喜欢
              • 2017-03-23
              • 2017-06-18
              • 2019-01-21
              • 2017-02-03
              • 1970-01-01
              • 1970-01-01
              • 2021-03-21
              • 2015-01-18
              • 2016-06-07
              相关资源
              最近更新 更多