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