Bagaimana Cara Membuat Fitur Download (Dari Link Website Lain) di Laravel 8 ?

Selamat malam, gimana ya cara membuat fitur download (dari link website lain) di laravel 8 ?

misalnya saya punya data link "download zip" dari repositori github, kemudian saya ingin ketika klik download (di view) maka akan download dari link repo github.

sebenarnya bisa saja dibuat di view seperti <a href="$data->link">, tp cara sperti ini ngga bisa menambah value "download" di tabel.

saya mau buat ini di controller & ketika ada request download maka akan menambah value juga di field download (tabel).

gimana ya cara membuat fitur seperti ini ? terimakasih
avatar hilmih3101

@hilmih3101

32 Kontribusi 18 Poin


Jawaban

$headers = [
              'Content-Type' => 'application/pdf',
           ];

return response()->download($file, 'filename.pdf', $headers);

untuk file external

return redirect()->away($url);
avatar hilmanski

@hilmanski

2338 Kontribusi 1962 Poin

  • sy coba seperti di atas, masih belum bisa bang - @hilmih3101


Controller.php
public function download($id)
    {
        $file = File::findOrFail($id);
        $file->increment('download');
        $file->update();
        
        if ($file->file)
            {
                $file_path = public_path('storage/'.$file->file);
        
                return response()->download($file_path);
            }
        
        else
            {
                $headers = [
                    'Content-Type' => 'application/zip',
                 ];
      
                return response()->download($file->link, 'testing.zip', $headers);;
            }         

    }

web.php
Route::get('file/download/{id}', [FrontController::class, 'download'])->name('download');

view
@isset($sc->link)
   <a href="{{ route('download', $file->id) }}" target="_blank" rel="noopener" class="btn btn-primary btn-sm text-white">
      Download
   </a>
@endisset

download dari folder sudah bisa, kalau dari link website lain masih belum bisa bang
avatar hilmih3101

@hilmih3101

32 Kontribusi 18 Poin


Login untuk gabung berdiskusi
premium logo tube

Hey, sedang ada diskon premium untuk akses semua kelas. Lihat di sini