|
|
пре 7 месеци | |
|---|---|---|
| .. | ||
| AdminControllers | пре 7 месеци | |
| Casts | пре 7 месеци | |
| Config | пре 7 месеци | |
| Databases | пре 7 месеци | |
| Docs | пре 7 месеци | |
| Enums | пре 7 месеци | |
| Events | пре 7 месеци | |
| Exceptions | пре 7 месеци | |
| Listeners | пре 7 месеци | |
| Logics | пре 7 месеци | |
| Models | пре 7 месеци | |
| Providers | пре 7 месеци | |
| Repositories | пре 7 месеци | |
| Repositorys | пре 7 месеци | |
| Services | пре 7 месеци | |
| Validation | пре 7 месеци | |
| Validator | пре 7 месеци | |
| README.md | пре 7 месеци | |
文件模块是一个用于处理文件和图片上传、存储和访问的基础模块,供其他模块使用,提提供外部服务。 该模块提供了文件和图片的上传、存储、访问和管理功能,支持公共和私有文件的区分,以及文件与其他模块实体的关联。
app/Module/File/
├── AdminControllers/ # 后台控制器
│ ├── Actions/ # 自定义操作
│ └── Helper/ # 控制器辅助类
├── Casts/ # 模型属性转换器
├── Config/ # 配置文件
├── Databases/ # 数据库相关文件
│ └── GenerateSql/ # 自动生成的SQL文件
├── Docs/ # 文档
│ ├── 数据库设计.md # 数据库设计文档
│ └── 服务使用说明.md # 服务使用说明文档
├── Enums/ # 枚举类
├── Events/ # 事件
├── Exceptions/ # 异常处理
├── Listeners/ # 事件监听器
├── Logics/ # 业务逻辑层
├── Models/ # 数据模型
│ ├── FileFile.php # 文件模型
│ ├── FileImg.php # 图片文件模型
│ └── FileTemplate.php # 文件模板模型
├── Repositories/ # 数据仓库层
├── Services/ # 服务层
├── Validation/ # 验证规则
└── Validator/ # 验证器
└── UserFileImgValidator.php # 用户图片文件验证器
存储普通文件信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| path | varchar(1000) | 存储目录 |
| re_type | varchar(100) | 关联类型 |
| re_id | int | 关联ID |
| o_name | varchar(200) | 原文件名 |
| fsize | bigint | 文件大小 |
| type1 | varchar(100) | 文件类型 |
| updated_at | timestamp | 更新时间 |
| created_at | timestamp | 创建时间 |
| deleted_at | timestamp | 删除时间 |
存储图片文件信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| storage_disk | varchar(100) | 存储磁盘 |
| path | varchar(1000) | 存储路径 |
| user_id | bigint | 用户ID |
| admin_id | bigint | 管理员ID |
| re_type | varchar(100) | 关联类型 |
| re_id | int | 关联ID |
| o_name | varchar(200) | 原文件名 |
| fsize | bigint | 文件大小 |
| width | int | 图片宽度 |
| height | varchar(1000) | 图片高度 |
| type1 | varchar(100) | 图片类型 |
| private | tinyint | 是否私有,0:公共,1:私有 |
| updated_at | timestamp | 更新时间 |
| created_at | timestamp | 创建时间 |
| deleted_at | timestamp | 删除时间 |
存储文件模板信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| unid | varchar(500) | 标识 |
| file_id | int | 文件ID |
| title | varchar(500) | 模板标题 |
| desc | varchar(100) | 描述 |
| status | varchar(1) | 状态 |
| group | varchar(100) | 分组 |
| updated_at | timestamp | 更新时间 |
| created_at | timestamp | 创建时间 |
| deleted_at | timestamp | 删除时间 |
模块提供了文件和图片的上传功能,支持将文件上传到指定的存储磁盘,并记录文件信息到数据库。
支持图片的上传、转换和处理,包括图片格式转换、缩放等功能。
提供了获取文件和图片URL的方法,支持公共和私有文件的访问控制。
支持临时文件的创建、存储和访问,用于临时文件处理场景。
支持文件模板的管理,可用于生成基于模板的文件。
// 创建用户上传处理器
$uploader = new \App\Module\File\Upload4User($userId);
// 上传图片
$fileImg = $uploader->uploadImg($request->file('image'));
// 获取图片URL
$imageUrl = $fileImg->getUrl();
// 通过ID获取图片URL
$imageUrl = \App\Module\File\Img::getPicUrl4Id($imageId);
// 通过路径获取管理后台图片URL
$imageUrl = \App\Module\File\Img::getAdminPicUrl($imagePath);
// 保存临时文件
$path = \App\Module\File\Temporary::save('jpg', $fileContent);
// 获取临时文件下载URL
$downloadUrl = \App\Module\File\Temporary::getDownUrl($path);
// 检查文件是否存在
$exists = \App\Module\File\File::fileExists($filePath);
文件模块使用Laravel的文件系统配置,主要配置项包括:
FILESYSTEM_DISK: 默认存储磁盘,默认为'local'FILESYSTEM_TEMP_DISK: 临时文件存储磁盘,默认与FILESYSTEM_DISK相同这些配置可以在.env文件中设置。