# 文件上传-后台进阶(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配置