راکت
حل شده

لود نشدن تصویر

3 پاسخ

سلام علیکم

آقا من یه مدل دارم با مایگریشن خب
داخلش یه فیلد با نوع استرینگ و با اسم image.
کنترلر رو ساختم از نوع ریسورس و ایجاد میشن درواقع اسم مدلم PicAlbum هست.
ساخته میشن اما داخل لیست رکورد ها به بنده خود عکس رو نشون نمیده یعنی ادرسش رو داره یعنی میدونه داخل public/storage/picAlbums هست اما بازم نمیاره!
اینم کد ساخت رکورد :

public function store(Request $request, PicAlbum $picAlbum)
{
    $request->validate([
        'title' => 'required|min:10',
        'description' => 'required|min:20',
        'image' => 'required'
    ]);
    //        Image
    if ($request->image) {
        $image = $request->image;
        $path = time() . $image->getClientOriginalName();
        $path = str_replace(' ', '-', $path);
        $image->move('storage/picAlbums/', $path);
        $path = 'storage/picAlbums/' . $path;
    }
    $picAlbum->create($request->all());
    $picAlbums = PicAlbum::all();
    $picAlbum->update([
        'image' => $path
    ]);
    toast()->success('آلبوم جدید با موفقیت ثبت شد');
    return redirect(route('picAlbums.index'));
}

میتونید کد های ویو ی بنده هم مشاهده بفرمایید :

@foreach($picAlbums as $picAlbum)
                    <li style="background-color: #1b263b;">
                                        <a data-bs-toggle="collapse" class="collapse" style="color: #BE6705;"
                                           data-bs-target="#accordion-list-{{ $picAlbum->id }}"><span>{{ $picAlbum->id }}</span> {{ $picAlbum->title }}
                                            <i class="bx bx-chevron-down icon-show"></i><i
                                                class="bx bx-chevron-up icon-close"></i></a>
                                        <div id="accordion-list-{{ $picAlbum->id }}" class="collapse show"
                                             data-bs-parent=".accordion-list">
                                            <div id="carouselExampleCaptions" class="carousel slide"
                                                 data-bs-ride="false">
                                                <div class="carousel-inner">
                                                    <div class="carousel-item active">
                                                        <br><br>
                                                        <img src="{{ $picAlbum->path }}" class="d-block w-100"
                                                             alt="{{ $picAlbum->title }}">
                                                        <div class="carousel-caption d-none d-md-block">
                                                            <p>{{ $picAlbum->description }}</p>
                                                        </div>
                                                    </div>
                                                    <button class="carousel-control-prev" type="button"
                                                            data-bs-target="#carouselExampleCaptions"
                                                            data-bs-slide="prev">
                                                        <span class="carousel-control-prev-icon"
                                                              aria-hidden="true"></span>
                                                        <span class="visually-hidden">Previous</span>
                                                    </button>
                                                    <button class="carousel-control-next" type="button"
                                                            data-bs-target="#carouselExampleCaptions"
                                                            data-bs-slide="next">
                                                        <span class="carousel-control-next-icon"
                                                              aria-hidden="true"></span>
                                                        <span class="visually-hidden">Next</span>
                                                    </button>
                                                </div>
                                            </div>
                                    </li>
                                @endforeach

اینم تابعی که داخلش رکورد هارو نمایش میدم :

public function index()
{
    $picAlbums = PicAlbum::all();
    return view('admin.picAlbum.index', compact('picAlbums'));
}

کسی راه حلی داره؟

ثبت پرسش جدید

پاسخ‌ها

3
علی جمالی
علی جمالی
@alijamali

تخصص: برنامه نویس وب

بهترین پاسخ

سلام لاین 14 ویو رو به کد زیر تبدیل کن

img src="{{ url($picAlbum->image) }}

شما خودتون تو لاین 19 آدرس تصویر رو به image ارسال کردین بعد توی ویو با اسم path صداش زدین

یونس سهرابی
یونس سهرابی
@YonesSohrabi

تخصص: Back End Developer

سلام لاین 14 در فایل blade رو به این شکل تغییر بدید احتمالا حل مشکل حل بشه ، چون باید دامنه رو هم قبل این آدرس بذارید .

img src="{{ url($picAlbum->path) }}
کریم کیمیائی فر
کریم کیمیائی فر
@KKF

تخصص: laravel , php , bootstrap , three.js

سلام @YonesSohrabi
من دامنه ندارم با لوکال هاست هستم اخر کار دامنه رو راه میندازم.

اما فکر کنم فهمیدم مشکل کجاست!
ببینید من داخل پروژه قبلیم ، فایل ها داخل public/storage/products ذخیره می شدند.
اما داخل این پروژه جدید ، داخل C:\xampp\tmp ذخیره شدند. در واقع داره در زمپ ذخیره میشه.
اما من داخل هر دو پروژه از یک کد استفاده کردم. چطور ممکنه؟
فکر کنم متوجه شده باشید مشکل از کجاست الان!

میشه توضیح بدید؟

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام