درود خوبی
ببین وقتی شما فایلهای پوشه storage ذخیره میکنی این فایلها به صورت پیشفرض در دسترس نیستن و برای عموم کاربران قابل دسترسی نیست برای اینکه فایلها در پوشه storage به صورت عمومی قابل دسترسی باشه باید یک لینک عمومی (public link) برای آنها ایجاد بشه
برای این منظور، میتونی از دستور php artisan storage:link توی Laravel استفاده کنی این دستور یک لینک سمبولیک از پوشه public/storage به پوشه storage/app/public ایجاد میکند. با این کار، فایلهای موجود در پوشه storage/app/public از طریق لینک public/storage قابل دسترسی خواهند بود
بعد از اجرای دستور php artisan storage:link، شما میتوانید به فایلهای موجود در پوشه storage/app/public از طریق لینک public/storage دسترسی پیدا کنید. به عنوان مثال، اگر فایلی با نام example.jpg در پوشه storage/app/public وجود دارد، شما میتوانید به آن با استفاده از لینک public/storage/example.jpg دسترسی پیدا کنید.
فقط بعدش وب سرویست رو ریست کن
دوست عزیز این کارو کردم
میدونم
توی لوکال هاست جواب میده
بعد که آپلود میکنم روی سرور دیگه هر چی عکس آپلود میکنم توی storage که توی پابلیک هست قرار نمیگیره
فایل storage که داخل public قرار میگیره باید از نوع Symbolic link باشه. (یه جورایی مثل shortcut ویندوز)
و از خودش موجودیت جداگانه ای نداره. به همین خاطر اصلا معنی نداره که اونجا باشه و اینجا نباشه.
اما اتفاقی که معمولا می افته اینه که موقع آپلود پروژه از لوکال هاست به هاست یا سرور، انتقال symlink به درستی انجام نمیشه و به شکل یک فولدر مستقل آپلود میشه که اشتباه هست.
کاری که باید بکنید اینه که پوشه public/sotrage رو در هاست کلا حذف کنید.
و بعد دوباره به نحوی دستور php artisan storage:link رو در هاست بصورت مستقیم اجرا کنید تا symlink ساخته بشه.
دایرکتوری storage به صورت symlink داخل public ایجاد میشه. و وقتی شما پروژه رو zip یا rar میکنید و به داخل هاست انتقال میدید لینک از بین میره. باید storage رو از public حذف کنید و دوباره با storage:link ایجادش کنید. اگه به ترمینال هاست دسترسی داری خب php artisan storage:link بزن اگه نه که با Artisan::call انجام بده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟