bud/upload
Composer 安装命令:
composer require bud/upload
包简介
Hyperf integrated file upload
关键字:
README 文档
README
适配 hyperf 框架的文件上传功能组件整合
安装
composer require bud/upload
使用方法
<?php declare(strict_types=1); namespace App\Controller; use Bud\Upload\FileUpload; use Hyperf\Di\Annotation\Inject; use Psr\Http\Message\ResponseInterface; use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\HttpServer\Annotation\AutoController; #[AutoController(prefix: "api")] class TestController extends AbstractController { #[Inject] protected FileUpload $upload; #[Inject] protected FileService $service; /** * 单文件上传 */ #[RequestMapping(path: "upload", methods: "post")] public function upload(): ResponseInterface { $file = $this->request->file('file'); $data = $this->upload->upload($file); $res = $this->service->create($data); return $this->response->success($res->toArray()) } /** * 分片上传 */ #[RequestMapping(path: "chunkUpload", methods: "post")] public function chunkUpload(): ResponseInterface { /** * 每个分片接收七个必传参数:’package’、’hash’、’total’、’index’、‘suffix’、’name’、’size’ * 一个可选参数:’mime_type’ * 其中分片文件对象必须以’package’为key传递 */ $data = $this->request->post(); $data['package'] = $this->request->file('package'); $data = $this->upload->chunkUpload($data); $res = $this->service->create($data); return $this->response->success($res->toArray()) } /** * 生成缩略图 */ #[RequestMapping(path: "thumbnail/{id}", methods: "get")] public function thumbnail(int $id): ResponseInterface { $width = $this->request->query('width', 100); $height = $this->request->query('height', 100); $res = $this->service->find($id); // 此处可以根据业务需求判断当前访问文件大小、格式、以及是否需要鉴权,进行相应的拦截处理 $Binary = $this->upload->makeThumb($res->url,$res->storage,$width,$height); return $this->response->withHeader('content-type', $res->mime_type) ->withBody(new SwooleStream($Binary)); } }
更多用法参考 Bud\Upload\FileUpload 类
bud/upload 适用场景与选型建议
bud/upload 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 04 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「upload」 「hyperf」 「hyperf-upload」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bud/upload 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bud/upload 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bud/upload 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
An async event for hyperf.
php hyperf xxljob
Laravel Media Popup to upload/view the files
SForum
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-04-28