مشکل در نوشتن route

3 سال پیش توسط Abdollah آپدیت شد
آفلاین
user-avatar
Abdollah ( 4924 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام دوستان.

روتی که برای downloads/2018/4/file.zip/1 نوشته میشه چطوریه با توجه به اینکه سال و ماه تغییر خواهد کرد؟

بهترین پاسخ
آفلاین
user-avatar
سجاد
3 سال پیش

(حضوری ذهن ندارم فکر کنم پروژه ای که این کد رو در اون استفاده کردیم ورژن 5.5 بود حتما کد رو تست کنید.
مثالی از تشخیص خودکار هدر:

        $file = File::get($path);
        $type = File::mimeType($path);
        $response = Response::make($file, 200);
        $response->header("Content-Type", $type);

+
بله گاهی ممکن هست مسئله ای پیش نیاد ولی گاهی هم مسئله پیش میاد!

آفلاین
user-avatar
حسام موسوی ( 432567 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

لینک کوتاه اشتراک گذاری

0

با سلام متوجه سوالتون نشدم !
این روت داستانش چیه اصلا اگر در مورد فایل های استاتیک هست ! ممکنه مربوط به آدرس قرار گیریش در هاستتون باشه

آفلاین
user-avatar
سجاد ( 15654 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

1

سلام
نمی دونم درست متوجه منظورتون شدم یا خیر.
route رو به صورت زیر بنویسید:

Route::get('downloads/{year}/{month}/{day}/{fileName}.{extension}', '[email protected]');

برای تابع مربوطه در کنترلر هم ورودی ها رو تنظیم کنید، مثلا:

public function downlod($year,$month,$day,$fileName,$extension){}

فقط حواستون باشه که در این تابع حتما در کنار لود فایل از محل ذخیره اصلی هدر رو هم باید متناسب با extension ست کنید.

تنها مورد باقی مانده ساخت لینک هست که در سایت استفاده کنید.
برای این منظور با توجه به اینکه آدرس متغیر هست پیشنهاد بنده این هست که آدرس ها رو در دیتابیس ذخیره کنید.

پ ن:
مجددا امیدوارم درست متوجه سوالتون شده باشم!

آفلاین
user-avatar
Abdollah ( 4924 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

خیلی ممنون آره سوالم دقیقاً همین بود.

لطفاً یه مثال برای تنظیم هدر بگید چون توی آموزشی که من دیدم بدون تنظیم هدر دانلود انجام میشه و ظاهرا مشکلی پیش نمیاد.

آفلاین
user-avatar
سجاد ( 15654 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

1

(حضوری ذهن ندارم فکر کنم پروژه ای که این کد رو در اون استفاده کردیم ورژن 5.5 بود حتما کد رو تست کنید.
مثالی از تشخیص خودکار هدر:

        $file = File::get($path);
        $type = File::mimeType($path);
        $response = Response::make($file, 200);
        $response->header("Content-Type", $type);

+
بله گاهی ممکن هست مسئله ای پیش نیاد ولی گاهی هم مسئله پیش میاد!

آفلاین
user-avatar
سجاد ( 15654 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

1

سلام
امروز موردی برخوردم شاید به کار شما هم بیاد.

اگر از نسخه 5.6 استفاده می کنید بخش Downloading Files از https://laravel.com/docs/5.6/filesystem رو مطالعه بفرمایید شاید راه ساده تری هم پیشنهاد داده.

آفلاین
user-avatar
Abdollah ( 4924 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

من از این روش استفاده کردم:

        $realPathFile = realpath(storage_path($filePath));

        $fileName = $file->file_name;

        $type = ['Content-Type' => \File::mimeType($realPathFile)];

        return response()->download($realPathFile, $fileName, $type);
برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.