مهدی
5 سال پیش توسط مهدی مطرح شد
5 پاسخ

نحوه ذخیره سازی صحیح فایلها روی سرور

سلام دوستان
ما یه وبسرویس با لاراول می نویسیم که به اپلیکیشن اندروئیدی سرویس میده
یه شبکه اجتماعی مثل اینستاگرام هست که کاربر وقتی میخواد پست بزاره عکسا و ویدئوهایی رو انتخاب میکنه و ما در سمت اندروئید یک درخواست از نوع POST ایجاد میکنیم و فایل ها هم در کنار کپشن و سایر ورودیهای کاربر میاد و در سمت سرور با لاراول فایل هارو روی دیسک و پوشه storage ذخیره میکنیم و اطلاعات فرم دریافتی هم در دیتابیس به همراه نام فایل ذخیره شده ثبت میشه و حالا در سمت اپلیکیشن در صفحه نمایش پست ها برنامه نویس اندروئید میاد یه ریکوئست میفرسته و به قولی یه api رو اجرا میکنه که با لاراول نوشتیم و اونم میاد از جدول پست ها اطلاعات پست رو بر میگردونه که توش نام و مسیر فایل ذخیره شده هم قرار داره و اپلیکیشن وقتی ریسپانس رو گرفت شروع میکنه به دانلود فایل ، چون برای پوشه storage با دستور php artisan storage:link میانبر در مسیر public_html باز کردیم و فایل ها بصورت عمومی در دسترس هستن

**میخوام بدونم آیا اصلا این سناریو درسته ؟!

آیا از نظر امنیت مشکلی نداره ؟

آیا از نظر بهینه بودن و استفاده از منابع بصورت بهینه کار درستی هست ؟**

ممنون میشم یه توضیح کلی در خصوص شکل صحیح اینکار بدید و بطور دقیق تر در مورد سناریوی ما


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

سلام مشکل خاصی نداره ، البته که شما تو همون public_html هم میتونید قرار بدید تصاویر رو ولی نه مشکلی نیست این روشتون


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
0

@hesammousavi
با اجازه دوست عزیزمون، منم یه سوال واسم همیشه بوده و این ذخیره توی فایل storage رو درک نکردم،اقای موسوی یه توضیحی میدین که اصن نیاز به این کار هست که فایل ها رو توی استوریج ذخیره کنیم؟چون وقتی میره رو سرور توی یه پوشه عقب تر از پوشه پابلیک قرار میگیره، و اون دستور چه میکنه دقیقا؟
و همچنین واسه استفاده فایل هایی که توی پوشه استوریج ذخیره شده حتما باید فایل ها دانلود شن؟ دسترسی مستقیم نداریم بهشون؟ ممنون میشم یه توضیح بدین روند کار با این قسمت به چه شکل هست


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

@coaradsupp
من برای فایل‌های عمومی مثل تصاویر، یا js یا فونت اینکارها رو انجام نمیدم، بنظرم هم نیازی نیست.
اما برای فایل‌های مهم مثل فایل ویدیو‌ی که به شکل زمان دار لینک دانلود میدم این جور مواردی که نمیخوام کاربر به شکل مستقیم بهش دسترسی داشته باشه و هر وقت دلش خواست url رو تو مرورگرش بزنه و فایل رو دریافت کنه میخوام فایل رو در storage قرار میدم.


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
0

@hesammousavi
اها، ینی برای مثال اگه بخوایم از کاربرامون مدرک بگیریم(مثلا تصویر کارت ملی و مدارک دیگه) باید توی استوریج ذخیره بشه، اونوقت واسه بازیابیش خیلی دردسر داره، اون رو به چه شکل باید هندل کرد؟ مثلا سمت پنل مدیریت میخوایم این مدارک رو به شکل عکس نمایش بدیم، لینکش رو نمیشه از فایل استوریج داد دیگه درسته؟ اون رو به چه شکل میشه حل کرد؟


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

ممنون آقا @hesammousavi عزیز
دوست عزی @coaradsupp از شماهم ممنونم که دقیقا سئوالات منو پرسیدین
حالا منم سوال رو تکمیل تر کنم اینکه حالا فرضا ما یسری از فایلهای مهم مثل مدارک کاربر رو توی storage قرار دادیم و میخوایم در قالب Json اطلاعات کاربر رو از دیتابیس که استخراج کردیم به کلاینت برگردونیم ، کلاینت برای دانلود فایل چیکار باید بکنه ... چون الان فایل بصورت امن درون storage قرار داره و کلاینت قادر به دیدن اون نیست ... پس کلاینت دقیقا بعد از دریافت اسم فایل چه کاری باید انجام بده تا عینا فایل رو بگیره و نشون بده


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

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