1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- declare (strict_types = 1);
- namespace App\Controller;
- use App\JsonRpc\PublicRpcServiceInterface;
- use App\Tools\Result;
- use Hyperf\Di\Annotation\Inject;
- use Hyperf\Validation\Contract\ValidatorFactoryInterface;
- class MinioController extends AbstractController
- {
- #[Inject]
- protected ValidatorFactoryInterface $validationFactory;
- /**
- * @var PublicRpcServiceInterface
- */
- #[Inject]
- private $publicServiceClient;
- /**
- * 获取所有的buckets
- * @return array
- */
- public function listBuckets()
- {
- $result = $this->publicServiceClient->getBuckets([]);
- // 直接返回服务层生成的响应
- return Result::success($result['data']);
- }
- /**
- * 上传文件
- * @return array
- */
- public function uploadFiles()
- {
- $uploadedFile = $this->request->file('file');
- if ($uploadedFile && $uploadedFile->isValid()) {
- $filename = $uploadedFile->getClientFilename();
- $fileContent = base64_encode(file_get_contents($uploadedFile->getRealPath()));
- $mimeType = $uploadedFile->getMimeType();
- // var_dump("大小:",$uploadedFile->getSize());
- if($uploadedFile->getSize()>2097152){
- return Result::error("最大支持2MB!");
- }
- $data['fileContent'] = $fileContent;
- $data['fileName'] = $filename;
- $data['contentType'] = $mimeType;
- $data['ext'] = $uploadedFile->getExtension();
- $data['size'] = $uploadedFile->getSize();
- $result = $this->publicServiceClient->uploadFile($data);
- if($result['code']==200){
- return Result::success($result['data']);
- }else{
- return Result::error("上传失败了!");
- }
- }else{
- return Result::error("请选择需要上传的文件");
- }
- }
- }
|