راکت

فروش امن فایل

5 پاسخ

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

developer
developer
@developer
ثبت پرسش جدید

پاسخ‌ها

5
الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

کافیه اون ها رو در فولدر storage/app قرار بدید. اینجوری هیچ گونه لینک مستقیمی برای دسترسی به این فایل ها قرار نداره. حالا تو پروژه لاراولتون بعد از اعتبارسنجی ها و ... هر وقت خواستید فایل رو به دست کاربر برسونید که بتونه دانلود کنه میتونید یک response از نوع download با آدرس فایل مورد نظر بهش بدید. مثلا اینجوری:

return response()->download('path_to_file');

اطلاعات جزئی تر:
https://laravel.com/docs/5.8/responses#file-downloads

شاید پاسخ شما همین‌جا باشد

احسان الوندی
احسان الوندی
@Alvandi

تخصص: توسعه دهنده وب

با سلام. در اینصورت که شما راهنمایی کردید چجور میشه فایل رو توسط کد تو اونجا upload کرد؟

@mhyeganeh

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

@Alvandi
خیلی ساده با استفاده از Storage facade و دستور put:

use Illuminate\Support\Facades\Storage;

Storage::put('file.jpg', $image);

تنظیمات بیشترش رو هم باید در فایل config/filesystem.php کانفیگ کنید.

توضیحات بیشتر:
https://laravel.com/docs/8.x/filesystem#storing-files

محمدسجاد دباغ
محمدسجاد دباغ
@mdabbagh

تخصص: برنامه نویس لاراول

سلام دوست عزیز!
در لاراول به صورت عادی فقط فایل های درون پوشه public با استفاده از لینک مستقیم قابل دانلود هستند.
مثل همان فایل های css و ... که در public قرار میدهیم.
پس در هر پوشه دیگری فایل هارو آپلود کنیم ، قابل دسترس نیستند.
لاراول برای آپلود و دانلود File Storage رو به وجود آورده که یک پوشه خارج از public هست.
و برای دانلود فایل های پوشه Storage تنها از متد زیر میتوانیم استفاده کنیم.

return Storage::download('file.zip');

در انتها میتونیم در کنترلر خودمون بعد از بررسی هویت و امکان دانلود توسط کاربر ، متد بالا را اجرا کنیم.

نکته: ما نیاز نداریم لینک دانلود را مستقیم در تگ a بنویسیم، باید در تگ a روتر دانلود را فراخوانی و id فایل مورد نظر را ارسال کنیم تا درخواست دانلود توسط کنترلر بررسی شود.

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

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