سیدعلی موسوی
7 سال پیش توسط سیدعلی موسوی مطرح شد
3 پاسخ

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

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

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

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


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

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


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 7 سال پیش مطرح شد
1

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

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

موفق باشید.


احمدرضا بشری
تخصص : برنامه نویسی وب و سرور
@ahmadrezabashari 3 سال پیش آپدیت شد
0

سلام و درود منم همین مشکل رو داشتم
از این کمک بگیرید برای من که جواب داد و عکس رو نمایش داد
گرفتن عکس از storage و نمایش ان در تگ img


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

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