From 32abf4ad92e7c43b40bc7972d94bf5266563175c Mon Sep 17 00:00:00 2001 From: "p.belezov" Date: Mon, 17 Jun 2024 17:44:56 +0800 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/DownloadController.php | 13 +++++++++++++ app/Http/Controllers/YoutubeDownloadController.php | 10 ++++++---- resources/views/Main.vue | 2 +- routes/web.php | 3 ++- 4 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 app/Http/Controllers/DownloadController.php diff --git a/app/Http/Controllers/DownloadController.php b/app/Http/Controllers/DownloadController.php new file mode 100644 index 0000000..79aeefd --- /dev/null +++ b/app/Http/Controllers/DownloadController.php @@ -0,0 +1,13 @@ +download($file_path); + } +} diff --git a/app/Http/Controllers/YoutubeDownloadController.php b/app/Http/Controllers/YoutubeDownloadController.php index 59409ce..4a05556 100644 --- a/app/Http/Controllers/YoutubeDownloadController.php +++ b/app/Http/Controllers/YoutubeDownloadController.php @@ -15,8 +15,9 @@ class YoutubeDownloadController extends Controller $collection = $yt->download( Options::create() - ->downloadPath('/path/to/downloads') + ->downloadPath(env('PATH_TO_DOWNLOAD')) ->url($url) + ->remuxVideo('mp4') ); $videotitle = ''; foreach ($collection->getVideos() as $video) { @@ -26,10 +27,11 @@ class YoutubeDownloadController extends Controller $response->error = $error; return response(json_encode($response)); } else { - $videotitle = $video->getTitle(); // Will return Phonebloks + $videotitle = $video->getFile()->getFilename(); // Will return Phonebloks // $video->getFile(); // \SplFileInfo instance of downloaded file - $file_path = public_path('/downloads/'.$videotitle); - return response()->download($file_path); + //$file_path = public_path('/downloads/'.$videotitle); + return redirect('/download/'.$videotitle); + //return response()->download($file_path); } } $response = new \stdClass(); diff --git a/resources/views/Main.vue b/resources/views/Main.vue index 083a434..88ca996 100644 --- a/resources/views/Main.vue +++ b/resources/views/Main.vue @@ -24,7 +24,7 @@ export default { methods: { startDownload(){ console.log(this.url); - axios.get(`/download?videourl=${this.url}`).then((responce)=>{ + axios.get(`/download_api?videourl=${this.url}`).then((responce)=>{ console.log(responce); }) } diff --git a/routes/web.php b/routes/web.php index abd1ba5..be4581e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,4 +17,5 @@ Route::get('/', function () { return view('welcome'); }); -Route::get('/download', 'App\Http\Controllers\YoutubeDownloadController@index'); +Route::get('/download_api', 'App\Http\Controllers\YoutubeDownloadController@index'); +Route::get('/download/{file}', 'App\Http\Controllers\DownloadController@index');