سلام دوستان روز بخیر
در حال طراحی یک فروشگاه فایل با لاراول هستم وقتی کاربر خریدی انجام میده فایل هایی که خریداری کرده رو در جدول ذخیره میکنم و با استفاده از کد زیر لینک دانلود این فایل ها رو پیدا میکنم که بصورت آرایه هست حالا چطور میتونم این فایل ها رو دانلود کنم.
$file_id = $payment->file_id;
$file = File::find($file_id);
$linkdownload =[];
foreach($file as $item){
$linkdownload[] = $item->linkDownload;
}
ارسال رسپانس به تعداد زیاد گزینه چندان مناسبی نیست. بجاش میتونید فایلهارو zip کنید و دز نهایت فایل زیپ رو کاربر دانلود کنه و بعد هم پاک بشه از روی سرور.
برای زیپ میتونید از لایبرریهای زیر استفاده کنید:
https://packagist.org/packages/zanysoft/laravel-zip
https://github.com/Chumper/Zipper
درون حلقه Foreach فایلهارو به زیپ اضافه میکنید و سپس:
return response()->download($pathToZIPFile)->deleteFileAfterSend();
کلاس respone در لاراول این کار رو انجام میده، میتونید از هلپر متد هم استفاده کنید.
return response()->download($pathToFile, $name, $headers);
آرگومان دوم و سوم اختیاری هستند
موفق باشید
@ali.bayat
ممنون از پاسخگویی
مشکلی که برام وجود داره لینک های دانلود بصورت آرایه هست و رسپانس دانلود میگه باید رشته بدی
با foreach هم امتحان کردم نمیدونم چرا فقط ی لینک رو برمیگردونه.
ارسال رسپانس به تعداد زیاد گزینه چندان مناسبی نیست. بجاش میتونید فایلهارو zip کنید و دز نهایت فایل زیپ رو کاربر دانلود کنه و بعد هم پاک بشه از روی سرور.
برای زیپ میتونید از لایبرریهای زیر استفاده کنید:
https://packagist.org/packages/zanysoft/laravel-zip
https://github.com/Chumper/Zipper
درون حلقه Foreach فایلهارو به زیپ اضافه میکنید و سپس:
return response()->download($pathToZIPFile)->deleteFileAfterSend();
با سلام خدمت تمام دوستان
دوستان یه سایت لاراولی دارم که می خوام وقتی روی لینک دانلود اپلیکیشن رو زد اپلیکیشن اندروید دانلود بشه با دوستورات موجود در لاراول برای دانلود اقدام کردم مثل همین متد هایی که در بالا دوستان بهش اشاره کردن.
مشکلی که هست اینه که بعد از اینکه دانلود انجام شد دیگه پروسه دانلود تمام نمی شود و در واقع فایل دانلود شده در انتهای دانلود به مشکل می خورد و فایل سالم دانلود نمی شود.
در انتهای پروسه دانلود به مدت نامتناهی پروگرس بار شروع به چرخیدن میکنه.
نمی دونم تونستم منظور رو بفهمونم یا نه ولی هر روشی رو چک کردم و حتی با php هم کدش رو نوشتم این مشکل هست.
ممنون میشم راهنمایی کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟