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');