راکت

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

20 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

20
حسام موسوی
حسام موسوی
@hesammousavi

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

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

حسام موسوی
حسام موسوی
@hesammousavi

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

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

php artisan storage:link

و تویی vuejs

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

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

user: {
  avatar: 'image.jpg'
}
عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

@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

تخصص: سی شارپ و پی اچ پی

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

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

php artisan storage:link

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

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

<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>
عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

{{ asset('storage/app/public/photos/'+related.path) }}
عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

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

<img :src="'../storage/public/photos/+related.path'"  :alt="related.title">
عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

عبداله زرین
عبداله زرین
@mr.zarrin1994

تخصص: Laravel VS Vue js

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

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

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