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
。
安裝成功後,把程式碼複製到需要上傳的頁面
提示:程式碼路徑 \vendor\peinhu\aetherupload-laravel\views\example.blade.php
上傳報錯AetherUpload\UploadController::validate does not exist
, AetherUpload\UploadController::validate不存在
因為UploadController.php
檔案有validate驗證,驗證上傳檔案/影片一些必要引數
我給註釋掉了
檔案路徑\vendor\peinhu\aetherupload-laravel\src\UploadController.php
檔案/影片上傳路徑\storage\app
下,而我想要上傳到\storage\app\public
下
需要改動一個檔案(檔名稱PartialResource.php)
第一個改動如下
第二個改動如下
檔案路徑\vendor\peinhu\aetherupload-laravel\src\PartialResource.php
為storage建立軟連線
命令php artisan storage:link
訪問public/storage資料夾可以直接訪問到影片/檔案上傳路徑,即\storage\app\public
資料夾
本作品採用《CC 協議》,轉載必須註明作者和本文連結