عبداله زرین
5 سال پیش توسط عبداله زرین مطرح شد
20 پاسخ

آدرس دهی فایلهای storage در ویو جی اس

سلام و وقت بخیر
آدرس دهی فایلهای ذخیره شده در پوشه storage توی ویو جی اس به چه صورته؟


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
1

سلام فولدر storage در کجاست ؟ منظورتون storage لاراوله ؟
بعد میخواید آدرس دهیشو با vue انجام بدید ؟! نمیشه برادر من !


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@hesammousavi سپاس
من پروژم کلا با ویو هس و htmlم توی کامپوننته ...چ راه حلی وجود داره ک آدرس دهی فابلای storage رو انجام بدم؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش مطرح شد
1

متوجه از ادرس دهی استورج نمیشم. منظورتون این که پروژه تون رو میخوای تویی temp سیستم کاربر ذخیره بشه و شما بتونی بهش ادرس بدی؟! که از وب دیگه نخونه؟!


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66 پروژه بکش با لاراوله و فرانتش با ویو ینی فایلا رو ک ادمین انتخاب میکنه توی storage ذخیره میشه حالا فرانته که اومده توی ویو جی اس نمیدونم آدرس دهی به چه صورت باشه که عکسا رو توی کامپوننت ویو بیاره


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش آپدیت شد
1

ببینید معمولا چیزی مثل تصاویر که کاربر بهشون دسترسی مستقیم داره تو storage قرار نگیره بهتره من پیشنهاد میکنم در public قرارشون بدید
و اما در مورد آدرس‌دهی مستقیم storage از vue امکان پذیر نیست چون دایرکتوریه storage در سطح دسترسی مستقیم وجود نداره


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@hesammousavi خب همون public چجوری باید آدرس دهی بشه؟هر مدلی که میزنم نمیتونم انجامش بدم


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
2

راهی که ما به استورج دسترسی پیدا کنیم ایجاد شورتکات از استورج در public هست

php artisan storage:link

و تویی vuejs

<img v-bind:src="'/storage/avatars/' + user.avatar" /> 

و اطلاعات جیسون

user: {
  avatar: 'image.jpg'
}

عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66 مرسی از محبتتون،سپاس
اما اینم تست کردم و نشده. ینی urlی که توی نتورک میبینم قبل از storage روتمو هم قرار میده که آدرسه اشتباه میشه..پس این باید حتما جواب بده؟چیزی جز این نمینتونه باشه؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
0

میشه اون قسمت از کدهاتون که مربوط بک اند پروژه و کامپونت هست رو بذاری ببینیم چه شکلی عمل میکنید؟


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66
این متد بک هستش

 public function store(Request $request)
    {
        $event = new  Event();
        if($request -> file('photo')){
            $photo = $request -> file('photo');
            $name = time().$photo -> getClientOriginalName();
            if($photo -> move(storage_path('app/public/photos/'),$name)){
                $event -> path = $name;
            }
        }
        $event -> title = $request -> get('title');
        $event -> description = $request -> get('description');
        $event -> date = $request -> get('date');
        $event -> seat_id = $request -> get('seat');
        $event -> total_capacity = $request -> get('total');
        $event -> sell_status = $request -> get('sell_status');
        $event -> celebrant = $request -> get('celebrant');
        $event -> category_id = $request -> get('category');
        $event -> price = $request -> get('price');
        $event -> discount_price = $request -> get('discount_price');
        $event -> save();

اینم کامپوننت ویو

<div class="row mg-top-50">
                <div v-for="related in related_event" class="col-xs-6 col-sm-3 gallery-sub-txt">
                    <img :src="'/storage/app/public/photos/'+related.path" :alt="related.title"><br>
                    <p><a href=""><i class="fas fa-caret-left"></i> {{related.title}} {{related.date}}</a></p>
                </div>
            </div>

سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش مطرح شد
1

فایل شما در استورج ذخیره میشه؟!

ایا این دستور ایجاد کردن شورتکات استورج رو اجرا کردین؟!

php artisan storage:link

ایا related.path دریافت کردی اطلاعاتی داره؟!

ایا از v-bind:src برای عکس استفاده کردی به جایی اینکه از :src استفاده کنی؟
اگر هه کارهای که گفتم انجام دادی یکبار بیا در پابلیک فایلتون رو اپلود کنید چک کنید ببینید میتونید عکس رو ببینید


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66 آره مهندس اون شورت کات ک نباشه ک اصلا نمیشه
related.path هم اطلاعات داره
src: هم از v-bind استفاده نکردم
به هر حال کمال تشکر رو از وقتی ک میذارید دارم پاسخ میدین


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
1

این خط رو اینجوری اصلاح کن
قبل از استورج ../ بذارید

<div class="row mg-top-50">
                <div v-for="related in related_event" class="col-xs-6 col-sm-3 gallery-sub-txt">
                    <img :src="'../storage/app/public/photos/'+related.path" :alt="related.title"><br>
                    <p><a href=""><i class="fas fa-caret-left"></i> {{related.title}} {{related.date}}</a></p>
                </div>
            </div>

عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66
شاید باورتون نشه اما همینم امتحان کردم اما توی آدرسش که توی inspect نگاه میکنم آدرس روت رو قبلش میزاره


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش مطرح شد
0

از assets استفاده کنی چطور؟!

{{ asset('storage/app/public/photos/'+related.path) }}

عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66 خب asset فقط توی blade جواب میده،توی ویو نمیشناسه بنظرم


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
1

والا دیگه چیزی به ذهنم نمیرسه

شما اون app رو حذف کن از مسیر و ../ بذار ببین درست میشه یا نه؟! اگر هم نه دوستان دیگه ی که با vuejs حرفه ای تر کار کردن راهنمایی کنن انشاا راه حلی پیدا بشه.

<img :src="'../storage/public/photos/+related.path'"  :alt="related.title">

عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66
سپاس از محبتت،ممنونم


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
1

خواهش میکنم
کد بالا رو هم یک چک بکن و یه چیز دیگه: تویی کدهات تک کوتیشن دومی رو نذاشتی! چک کردی '


عبداله زرین
تخصص : Laravel VS Vue js
@mr.zarrin1994 5 سال پیش مطرح شد
0

@juza66
آره اونو گذاشتم،اون قبل از اسم متغیر میاد ینی بعد از پوشه محل ذخیره


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

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