کریم کیمیائی فر
2 سال پیش توسط کریم کیمیائی فر مطرح شد
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'));
}

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


ثبت پرسش جدید
علی جمالی
تخصص : برنامه نویس وب
@alijamali 2 سال پیش آپدیت شد
0

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

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

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


یونس سهرابی
تخصص : Back End Developer
@YonesSohrabi 2 سال پیش آپدیت شد
0

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

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

کریم کیمیائی فر
تخصص : laravel, php
@KKF 2 سال پیش آپدیت شد
0

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

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

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


علی جمالی
تخصص : برنامه نویس وب
@alijamali 2 سال پیش آپدیت شد
0

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

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

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


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

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