راکت
20 پاسخ

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

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


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

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


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

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


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

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


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

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


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

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


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

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


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
2

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

php artisan storage:link

و تویی vuejs

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

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

user: {
  avatar: 'image.jpg'
}

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

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


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

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


عبداله زرین
عبداله زرین
تخصص :Laravel VS Vue js
@mr.zarrin19946 سال پیشمطرح شد
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>

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

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

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

php artisan storage:link

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

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


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

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


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
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.zarrin19946 سال پیشمطرح شد
0

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


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

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

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

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

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


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

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

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

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

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

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


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

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


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

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


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

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