【问题标题】:Laravel Displaying image from databaseLaravel 显示数据库中的图像
【发布时间】:2015-04-18 05:43:20
【问题描述】:

所以我想在我的视图中显示图像而不是图像名称。

我的观点是这样的

<img src="{{$post->image}}" />

我想要的是显示实际图像而不是图像的名称。我怎样才能做到这一点?我应该先将图像保存在公用文件夹中吗?还是我的方法不对?请赐教好吗?太感谢了。这个方法我试过了

{{ HTML::image($post->image, '', array('class' => 'image')); }}

但我仍然得到相同的输出。

【问题讨论】:

    标签: php laravel


    【解决方案1】:
    style="url(background-image: images/bg.jpg);
    

    在这种情况下如何获取图像?

    【讨论】:

    • 你应该避免在答案中提问,发出一个链接到这个问题的新问题
    【解决方案2】:

    如果您的图片位于 public/images 文件夹中,请使用下方。否则,请使用公共文件夹中该图片的项目路径。与图片扩展名连接。

    &lt;img src="images/{{$post-&gt;image}}.jpg" alt={{$post-&gt;image}}/&gt;

    【讨论】:

      【解决方案3】:
      1. 插入您的图片:

        public function store(Request $request)
         {
         $pages = new Appsetting();
        
                $pages->title = $request->input('title');
                $pages->description = $request->input('description');
        
                if ($request->hasfile('image')) {
                    $file = $request->file('image');
                    $extension = $file->getClientOriginalExtension(); // getting image extension
                    $filename = time() . '.' . $extension;
                    $file->move('uploads/appsetting/', $filename);
        
        //see above line.. path is set.(uploads/appsetting/..)->which goes to public->then create
        //a folder->upload and appsetting, and it wil store the images in your file.
        
                    $pages->image = $filename;
                } else {
                    return $request;
                    $pages->image = '';
                }
               $pages->save();
        
               return redirect('pagesurl')->with('success', 'App Setting Added');
         }
        
      2. 按索引显示

         public function index()
            {
                $pages = Appsetting::all();
                return view('admin.appsettings.pages', compact('pages',$pages));
            }
        
      3. 来到 Blade 文件。 (pages.blade.php)

        @foreach ($pages as $page)
        <td> <img src="{{ asset('uploads/appsetting/' . $page->image) }}" /> </td>
        @endforeach
        
      4. 设置您的路线并 100% 工作。

      【讨论】:

        【解决方案4】:

        图像已保存到数据库,但您不知道图像保存到磁盘上的哪个文件夹,因此请查看您的控制器以查看它的保存位置。

        然后在刀片中你可以使用:

        <img src="/folder_name_path/{{$post ->image}}" />
        

        【讨论】:

          【解决方案5】:

          你可以这样使用&lt;img src="{{ asset('img')}}/{{ $post-&gt;image) }}" /&gt;

          你的图片目录是public/img/image的名字

          【讨论】:

            【解决方案6】:

            首先,您必须将图像存储在公共目录中(否则浏览器无法访问它们)

            那么这取决于$post-&gt;image 实际上是什么。如果它是相对于public 的路径,您可以这样做:

            <img src="{{ asset($post->image) }}" />
            

            或者:

            {{ HTML::image($post->image, '', array('class' => 'image')); }}
            

            编辑

            由于您的图像存储在public/img 中,而image 属性仅包含名称(没有img/),您必须在前面加上:

            <img src="{{ asset('img/' . $post->image) }}" />
            

            【讨论】:

            • asset 函数将生成一个指向您的公共目录的绝对 URI。通常类似:http://example.com/path/you/passed 是结果。
            • 好的,我现在明白了,但仍然无法正常工作,我不知道我做错了什么。
            • 您的图像存储在哪里,$post-&gt;image 返回什么?
            • 在 public/img/ 和 $post->image 中返回照片的名称。
            猜你喜欢
            相关资源
            最近更新 更多
            热门标签