# 文件上傳-后臺進階(php)
EpiiAdmin的上傳模塊是面向抽象接口開發,可以根據不同文件處理邏輯,設置自己的文件處理器即可。在入口文件只需設置相應的處理器,整個項目其它地方均無需改變。這意味著你可以很方便的把上傳的文件上傳到云存儲,ftp,等任何你想要的地方。(EpiiAdmin默認的處理器為文件本地保存)
1. 編寫自己的處理器
2. 在入口文件設置自己的處理器。
3. 常見的處理器。
### 1、如何編寫處理器
處理器必須實現 `epii\ui\upload\driver\IUploader `接口,這個接口要求必須實現兩個函數分別為:
```php
interface IUploader
{
public function handlePostFiles(array $allowedExts=["gif", "jpeg", "jpg", "png"],$file_size=204800,$dir=null,$url_pre = null):UploaderResult;
public function del(array $data):bool ;
}
```
如:
```php
class MyUploadHandler implements IUploader
{
public function handlePostFiles(array $allowedExts=["gif", "jpeg", "jpg", "png"],$file_size=204800,$dir=null,$url_pre = null):UploaderResult{
//自己的邏輯
}
public function del(array $data):bool {
}
}
```
### 2、在入口文件設置自己的上傳處理器。
```php
AdminUiUpload::setUploadHandler(string $classnae);//是名稱,而非實例
```
如:
```php
AdminUiUpload::setUploadHandler(MyUploadHandler::class)
```
## 3,常見的處理器。
EpiiAdmin默認的處理器為`epii\ui\upload\driver\LocalFileUploader`,這個處理器是把文件保存在指定的目錄(這個目錄你可以更改)。
非常歡迎大家能分享自己的文件處理器,讓更多的開發者受益。
#### 在文始集團一個常用的處理器是,把文件上傳到微軟云,這個處理器的使用也很簡單:
1、通過composer 引入 `wslibs/cloud_upload`
2、在入口文件設置微軟云相關操作
```php
wslibs\cloud_upload\CloudFileUploaderManager::init(array $cloud_chunchu_config = [] )
```
- 簡介/安裝
- 快速搭建一個用戶中心
- Js代碼寫在哪里
- 環境變量Args
- 前臺組件
- Dialog方式打開頁面
- Addtab方式打開頁面
- Alert提醒框
- Confirm確認框
- Prompt輸入框
- 表單Form
- 列表Table/list
- 基礎Table
- 控制Table
- 搜索Table
- 城市選擇city-picker
- 文件上傳組件
- 基礎版本
- 簡單版本
- 更多實用組件
- 后臺
- 實現方式綜述
- 命令管理類JsCmd
- 命令
- Alert命令
- Url命令
- Toast命令
- JsEval命令
- Close命令
- Refresh命令
- CloseAndRefresh命令
- 常用命令的簡化
- 文件上傳
- 后臺基礎
- 后臺進階
- 左側導航badge配置