如何使用 Laravel 路由前缀在不同页面上显示图片?

How do I show a picture on different pages using Laravel Route Prefix?

我有一个图像文件。不止一页使用此图像文件。 图像正确显示在仪表板中。因为这个页面没有使用 Route Prefix。 例如;品牌页面使用路由前缀。此页不显示图片。

Route::middleware(['auth'])->group(function () {
Route::get('dashboard', [homeAppController::class, 'dashboard'])->name('dashboard');

//web.php
Route::controller(brandController::class)->group(function () {
    Route::group(['prefix' => 'brand', 'as' => 'brand.'], function () {
        Route::get('/', 'index')->name('index');
        Route::get('/create', 'create')->name('create');
        Route::get('/store', 'store')->name('store');
        Route::get('/show/{id}', 'show')->name('show');
        Route::get('/edit/{id}', 'edit')->name('edit');
        Route::get('/update/{id}', 'update')->name('update');
        Route::get('/destroy/{id}', 'destroy')->name('destroy');
    });
});

//Dashboard
<img alt="" src="../assets/media/svg/brand-logos/{{ $data->logo }}"/>

//brand/show    
<img class="rounded-0" src="../assets/media/svg/brand-logos/{{ $brand->logo }}" alt=""/>

图片未显示在此页面上。因为路由以品牌前缀开头。例如; .../brand/assets/...

发生这种情况是因为您使用的是相对路径,因此在路由上会有所不同。

您可以像 foo.com/bar.jpg 一样使用完整的 url 或者只是 /bar.jpg(开始 / 很重要)

或者如果您使用 Laravel blade,您还可以使用

<img src="{{ asset('bar.jpg') }}" />