سلام و وقت بخیر
آدرس دهی فایلهای ذخیره شده در پوشه storage توی ویو جی اس به چه صورته؟
سلام فولدر storage در کجاست ؟ منظورتون storage لاراوله ؟
بعد میخواید آدرس دهیشو با vue انجام بدید ؟! نمیشه برادر من !
@hesammousavi سپاس
من پروژم کلا با ویو هس و htmlم توی کامپوننته ...چ راه حلی وجود داره ک آدرس دهی فابلای storage رو انجام بدم؟
متوجه از ادرس دهی استورج نمیشم. منظورتون این که پروژه تون رو میخوای تویی temp سیستم کاربر ذخیره بشه و شما بتونی بهش ادرس بدی؟! که از وب دیگه نخونه؟!
@juza66 پروژه بکش با لاراوله و فرانتش با ویو ینی فایلا رو ک ادمین انتخاب میکنه توی storage ذخیره میشه حالا فرانته که اومده توی ویو جی اس نمیدونم آدرس دهی به چه صورت باشه که عکسا رو توی کامپوننت ویو بیاره
ببینید معمولا چیزی مثل تصاویر که کاربر بهشون دسترسی مستقیم داره تو storage قرار نگیره بهتره من پیشنهاد میکنم در public قرارشون بدید
و اما در مورد آدرسدهی مستقیم storage از vue امکان پذیر نیست چون دایرکتوریه storage در سطح دسترسی مستقیم وجود نداره
راهی که ما به استورج دسترسی پیدا کنیم ایجاد شورتکات از استورج در public هست
php artisan storage:link
و تویی vuejs
<img v-bind:src="'/storage/avatars/' + user.avatar" />
و اطلاعات جیسون
user: {
avatar: 'image.jpg'
}
@juza66 مرسی از محبتتون،سپاس
اما اینم تست کردم و نشده. ینی urlی که توی نتورک میبینم قبل از storage روتمو هم قرار میده که آدرسه اشتباه میشه..پس این باید حتما جواب بده؟چیزی جز این نمینتونه باشه؟
میشه اون قسمت از کدهاتون که مربوط بک اند پروژه و کامپونت هست رو بذاری ببینیم چه شکلی عمل میکنید؟
@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>
فایل شما در استورج ذخیره میشه؟!
ایا این دستور ایجاد کردن شورتکات استورج رو اجرا کردین؟!
php artisan storage:link
ایا related.path دریافت کردی اطلاعاتی داره؟!
ایا از v-bind:src برای عکس استفاده کردی به جایی اینکه از :src استفاده کنی؟
اگر هه کارهای که گفتم انجام دادی یکبار بیا در پابلیک فایلتون رو اپلود کنید چک کنید ببینید میتونید عکس رو ببینید
@juza66 آره مهندس اون شورت کات ک نباشه ک اصلا نمیشه
related.path هم اطلاعات داره
src: هم از v-bind استفاده نکردم
به هر حال کمال تشکر رو از وقتی ک میذارید دارم پاسخ میدین
این خط رو اینجوری اصلاح کن
قبل از استورج ../ بذارید
<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
شاید باورتون نشه اما همینم امتحان کردم اما توی آدرسش که توی inspect نگاه میکنم آدرس روت رو قبلش میزاره
والا دیگه چیزی به ذهنم نمیرسه
شما اون app رو حذف کن از مسیر و ../ بذار ببین درست میشه یا نه؟! اگر هم نه دوستان دیگه ی که با vuejs حرفه ای تر کار کردن راهنمایی کنن انشاا راه حلی پیدا بشه.
<img :src="'../storage/public/photos/+related.path'" :alt="related.title">
خواهش میکنم
کد بالا رو هم یک چک بکن و یه چیز دیگه: تویی کدهات تک کوتیشن دومی رو نذاشتی! چک کردی '
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟