簡體   English   中英

如何在 Laravel 中顯示來自 public/storage/images 的圖像

[英]How to display the image from the public/storage/images in Laravel

profile.blade.php

 <form action="{{route('user.profile.update',$user)}}" method="post" enctype="multipart/form-data">
            @csrf
            @method('PUT')

                <div>
                <img height="100px;" class="img-profile rounded-circle" src="{{$user->avatar}}">

                </div>
                <br>
                <div class="form-group">
                <input type="file" name="avatar">

                </div>
    </form>

web.php

Route::put('admin/users/{user}/update','UserController@update')->name('user.profile.update');

用戶.php

public function getAvatarAttribute($value){
        return asset($value);
    }

用戶控制器:

public function update(User $user){


        $inputs=request()->validate([

                'file'=>['file'],




                ]);


        if(request('avatar')){
           $inputs['avatar']=request('avatar')->store('images');
        }

        $user->update($inputs);

        return back();
    }
}

這是一個profile.blade.php

在此處輸入圖像描述

如何在 Laravel 中顯示來自 public/storage/images 的圖像

在此處輸入圖像描述

如果我檢查圖像,src 是 src="http://127.0.0.1:8000/images/dT9gvraL3HbTlHcQly96YwoSJdikNj7fVL1dsIzT.jpeg"。 我怎么做錯了?

考慮到您存儲的圖像名稱不是 url。

現在,在 User.php 中,

public function getAvatarAttribute($value){ 
    return asset('storage/'.$value); 
}

希望這會幫助你。

我的錯,我跳過了你問題的某些部分。 您需要更改 User.php 中的路徑,如下所示:

public function getAvatarAttribute($value){
        return asset("storage/$value");
}

為公共 URL 獲取可訪問的 url。 Laravel 為其提供了資產助手。

例如,如果您的圖像存儲在

公共/存儲/圖像/用戶.png

您可以輕松訪問如下圖像:

assets('storage/image/user.png') //輸出完整的url到文件

注意:公用文件夾被視為基本目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM