Top 10 cách upload queued google drive (siêu dễ)

Sinx.edu.vn giới thiệu 10 cách chuyển đổi video bằng VLC Media Player giúp bạn đọc dễ dàng upload file tài liệu lên google drive.

1 68 lượt xem


Hướng dẫn upload queued google drive

1. Tạo Adapter và Service Provider của Google Drive

  • Tạo 2 file GoogleDriveAdapter.php và GoogleDriveServiceProvider.php trong thư mục app/Providers:

GoogleDriveAdaper.php:

loading...

  • Khai báo GoogleDriveServiceProvider vào providers trong config/app.php:
  • Vì ở đây ta coi Google Drive như là 1 disk nên ta khai báo google disk vào trong config/filesystems.php:

2. Lấy Google Drive API Key

a. Client ID & Secret\

  • Truy cập vào Google Console và tạo 1 App: https://console.developers.google.com
  • Ở đây mình đã tạo xong app google-drive-demo, vào Library tìm Google Drive API và enable:

  • Sau đó, vào Credentials, tạo OAuth client ID:

b. Refresh Token

  • Sau đó, ở bên trái, tìm và chọn Google Drive API V3, chọn dòng đầu tiên:

  • Tiếp tục ta làm theo các bước như hình bên dưới:

Cuối cùng ta lấy được Refresh token.

c. Lấy ID thư mục lưu trữ (Root)

  • Truy cập vào Google Drive của mình và tạo một thư mục, ở đây mình sẽ tạo thư mục và lấy tên là Demo, đây là thư mục mà chúng ta sẽ tương tác, ID chính là phần cuối trong URL như hình:

  • Sau khi lấy được tất cả các thông tin trên, chúng ta paste vào file .env :
  • Xong, bây giờ chúng ta có thể truy cập Google Drive như một disk của Storage rồi.

3. Tạo file

  • Đầu tiên chúng ta tạo file demo.blade.php trong resources/views để Upload File
  • Tạo DemoController.phpphp artisan make:controller DemoController
  • File web.php

Bây giờ chúng ta thử Upload 1 file lên thử xem. Ổn, file đã được upload lên Google Drive, tuy nhiên ta có thể thấy rằng thời gian chờ đợi upload khoảng gần 3s cho 1 file ~2Mb. Do đó, việc sử dụng Queue Job ở đây để thực hiện việc upload file là một cách để giải quyết vấn đề trên.

4. Tạo Queue Job

  • Để chạy queue job trong Laravel đã hỗ trợ kha khá driver, nhưng ở đây để đơn giản mình sẽ sử dụng database để lưu lại Job:
  • Tạo table jobs:
    • php artisan queue:table
    • php artisan migrate
  • Ở file .env chúng ta sửa QUEUE_CONNECTION=database
  • Tạo Job: php artisan make:job PutFile, một file PutFile.php được tạo ở trong app/Jobs/
  • Sửa lại file DemoController.php

Xong! Bây giờ chúng ta mở Terminal và chạy php artisan queue:work. Upload lại thử file và quan sát Job đã được đẩy vào trong hàng đợi và bạn sẽ thấy web được load nhanh hơn.

1 68 lượt xem