記一次使用 AetherUpload 視訊上傳過程

chenshao發表於2019-09-28

AetherUpload 是提供超大檔案上傳的 laravel 擴充套件包,帶百分比進度顯示,支援斷點續傳,支援自定義中介軟體,基於 laravel 5 開發。

我們知道,在以前,檔案上傳採用的是直接傳整個檔案的方式,這種方式對付一些小檔案是沒有問題的。而當需要上傳大檔案時,此種方式不僅操作繁瑣,需要修改 web 伺服器和後端語言的配置,而且會大量佔用伺服器的記憶體,導致伺服器記憶體吃緊,嚴重的甚至傳輸超時或檔案過大無法上傳。很顯然,普通的檔案上傳方式已無法滿足現在越來越高的要求。\
隨著技術的發展,如今我們可以利用 HTML5 的分塊上傳技術來輕鬆解決這個困擾,通過將大檔案分割成小塊逐個上傳再拼合,來降低伺服器記憶體的佔用,突破伺服器及後端語言配置中的上傳大小限制,可上傳任意大小的檔案,同時也簡化了操作,提供了直觀的進度顯示。本人laravel版本 5.7。

0) 在終端內切換到你的 laravel 專案根目錄,執行 composer require peinhu/aetherupload-laravel dev-master

1) 在 config/app.php 的 providers 陣列中新增一行 AetherUpload\AetherUploadServiceProvider::class,

2) 執行 php artisan vendor:publish 來發布一些檔案和目錄

3) 賦予上傳目錄相應許可權,在專案根目錄下,執行 chmod 755 storage/app/uploads -R

4) 在瀏覽器訪問 http://域名/aetherupload 可到達示例頁面

提示:更改相關配置選項請編輯 config/aetherupload.php
安裝成功後,把程式碼複製到需要上傳的頁面
記一次使用AetherUpload視訊上傳過程
記一次使用AetherUpload視訊上傳過程
提示:程式碼路徑 \vendor\peinhu\aetherupload-laravel\views\example.blade.php
上傳報錯AetherUpload\UploadController::validate does not exist, AetherUpload\UploadController::validate不存在
因為UploadController.php檔案有validate驗證,驗證上傳檔案/視訊一些必要引數
記一次使用AetherUpload視訊上傳過程
記一次使用AetherUpload視訊上傳過程
我給註釋掉了
檔案路徑\vendor\peinhu\aetherupload-laravel\src\UploadController.php
檔案/視訊上傳路徑\storage\app下,而我想要上傳到\storage\app\public
需要改動一個檔案(檔名稱PartialResource.php)
第一個改動如下
記一次使用AetherUpload視訊上傳過程
第二個改動如下
記一次使用AetherUpload視訊上傳過程
檔案路徑\vendor\peinhu\aetherupload-laravel\src\PartialResource.php
為storage建立軟連線
命令php artisan storage:link
訪問public/storage資料夾可以直接訪問到視訊/檔案上傳路徑,即\storage\app\public資料夾

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章