description

آپلود عکس در Storage و نمایش عکس در تگ img

- 4 روز پیش
توسط Mohamad Hasan Yeganeh آپدیت شد
سیدعلی موسوی ( 1714 تجربه )
6 روز پیش

با سلام خدمت عزیزان

سوال بنده اینه چطور عکسی که آپلود میکنیم در استورج، در تگ سایت نمایشش بدیم؟؟

مثلا عکس پروفایل کاربر؟؟ اگر در پابلیک سایت اپلود کنیم ، کسی که مسیر عکس رو پیدا کنه میتونه تمام عکس های پابلیک رو استخراج کنه، و اگر هم بگید که نامش رو هش کرده بذارید و ادرس هم در فیلد نگهداری کنیم این مشکلی نیست ، چطور از استخراج کردنش جلوگیری کنیم...؟؟

بهترین پاسخ انتخاب شده توسط سیدعلی موسوی
حسام موسوی
6 روز پیش

با سلام اگر در پابلیک ذخیره سازی کنید کسی باز نمیتونه تمام عکس ها رو استخراج کنه چون دسترسی ها بستس .
و کسی که بخواد استخراج کنه باید حدس بزنه اسامی فایل ها رو که خوب این نشدنیه .
در مورد روش قرار دادن فایل در storage و نمایش دادن کاملا با مثال در مستندات خود لاراول اومده که چیکار باید انجام بدید

حسام موسوی ( 32168 تجربه )
6 روز پیش

با سلام اگر در پابلیک ذخیره سازی کنید کسی باز نمیتونه تمام عکس ها رو استخراج کنه چون دسترسی ها بستس .
و کسی که بخواد استخراج کنه باید حدس بزنه اسامی فایل ها رو که خوب این نشدنیه .
در مورد روش قرار دادن فایل در storage و نمایش دادن کاملا با مثال در مستندات خود لاراول اومده که چیکار باید انجام بدید

Mohamad Hasan Yeganeh ( 49 تجربه )
4 روز پیش

سلام.
بهترین روشی که بنده رسیدم برای کار با عکس های آپلودی در لاراول به این صورت هست که طبق مستندات خود لاراول عکس‌ها رو در storage با یک نام یکتا و رندوم ذخیره می‌کنید و نامش رو هم در دیتابیس نگهداری می‌کنیم. ولی مشکلی که داره اینه که نمیشه به این عکس ها رفرنس بدیم و ازشون استفاده کنیم. چون به فولدر storage دسترسی نداریم. لذا با دستور php artisan storage:link یک short link از فولدر storage در فولدر public ایجاد می‌کنیم. حالا از این به بعد خیلی راحت چه در تگ <img> در HTML یا در CSS میتونیم به عکس مورد نظرمون از مسیر پوشه public رفرنس بدیم.

مشکلی هم که اشاره کردید در خصوص استخراج تمام عکس‌ها، بایستی از طریق فایل .htaccess تون دستور مربوط به جلوگیری از index کردن فولدر رو تنظیم کنید و اگر نام فایل هاتون هم بصورت hash شده یا رندوم انتخاب شده باشند عملا امکان استخراج همه عکس ها وجود نخواهد داشت.

موفق باشید.

برای ارسال پاسخ باید وارد سایت شوید