# 文件上传-后台基础(php)
> 文章介绍了常规的后台逻辑,如果想自定义上传处理器(比如把文件上传到第三方服务器等)请查看 [后台进阶](文件上传-后台进阶.md) 篇文档
EpiiAdmin后台默认包含了上传接口,前台一般无需设置相关接口,但以下场景你可能需要自定义后台的处理流程(别担心,很简单)。
- 当你需要自定义上传的格式,默认上传处理的格式主要为图片,文档等
- 当你需要自定义上传的文件大小。
- 其它场景
## 设置自己的上传逻辑需要以下操作
1. 后台编写接口逻辑
2. 前端在上传组件中添加`data-url="?app=myupload@upload"`指定自己的上传地址。
### 1、假设后台的上传处理为: `app=myupload@upload`
```php
class myupload
{
public function upload()
{
echo AdminUiUpload::doUpload(["gif", "jpeg", "jpg", "png",'pdf','rar','zip'], 2048000);
exit;
}
}
```
函数定义为:
```php
public static function doUpload(array $allowedExts = ["gif", "jpeg", "jpg", "png"], $file_size = 204800, $dir = null, $url_pre = null): string
{
return json_encode(self::getUploadHandler()->handlePostFiles( $allowedExts , $file_size , $dir , $url_pre )->getResult(), true);
}
```
### 2、前台需要指向自定义的接口
```html
<button
class="btn btn-danger"
data-upload=1
data-input-id="img1"
data-url="?app=myupload@upload"
>
上传
</button>
```
- 简介/安装
- 快速搭建一个用户中心
- Js代码写在哪里
- 环境变量Args
- 前台组件
- Dialog方式打开页面
- Addtab方式打开页面
- Alert提醒框
- Confirm确认框
- Prompt输入框
- 表单Form
- 列表Table/list
- 基础Table
- 控制Table
- 搜索Table
- 城市选择city-picker
- 文件上传组件
- 基础版本
- 简单版本
- 更多实用组件
- 后台
- 实现方式综述
- 命令管理类JsCmd
- 命令
- Alert命令
- Url命令
- Toast命令
- JsEval命令
- Close命令
- Refresh命令
- CloseAndRefresh命令
- 常用命令的简化
- 文件上传
- 后台基础
- 后台进阶
- 左侧导航badge配置