Ver código fonte

fix(filesystem): 修复文件上传功能中的类型转换和路径问题

runphp 2 meses atrás
pai
commit
359018b4e0

+ 3 - 3
src/Controller/FileController.php

@@ -35,7 +35,7 @@ class FileController
     {
         $file = $request->file('file');
         validate([
-            'file' => 'require|fileSize:'.(1024*1024*100).',fileExt:png,jpg,jpeg,gif,fileMime:image/png,image/jpg,image/jpeg,image/gif',
+            'file' => 'require|fileSize:' . (1024 * 1024 * 100) . ',fileExt:png,jpg,jpeg,gif,fileMime:image/png,image/jpg,image/jpeg,image/gif',
         ], [
             'file.require' => '请选择文件',
             'file.fileSize' => '文件过大',
@@ -45,7 +45,7 @@ class FileController
             'file' => $file,
         ]);
 
-        return success_response($filesystemUserFileEntity->upload($request->userID, $file));
+        return success_response($filesystemUserFileEntity->upload((int)$request->userID, $file));
     }
 
     /**
@@ -57,7 +57,7 @@ class FileController
         $file = $request->file('file');
         validate([
             'category_id' => 'egt:0',
-            'file' => 'require|fileSize:'.(1024*1024*100).',fileExt:png,jpg,jpeg,gif,fileMime:image/png,image/jpg,image/jpeg,image/gif',
+            'file' => 'require|fileSize:' . (1024 * 1024 * 100) . ',fileExt:png,jpg,jpeg,gif,fileMime:image/png,image/jpg,image/jpeg,image/gif',
         ], [
             'category_id.egt' => '分类ID不能小于0',
             'file.require' => '请选择文件',

+ 4 - 4
src/Entity/FilesystemUserFileEntity.php

@@ -4,20 +4,20 @@ declare(strict_types=1);
 namespace SixShop\Filesystem\Entity;
 
 use SixShop\Core\Entity\BaseEntity;
-use SixShop\Filesystem\Model\FilesystemFileModel;
+use SixShop\Filesystem\Model\FilesystemUserFileModel;
 use think\facade\Event;
 use think\facade\Filesystem;
 use think\File;
 use think\file\UploadedFile;
 
 /**
- * @mixin \SixShop\Filesystem\Model\FilesystemUserFileModel
+ * @mixin FilesystemUserFileModel
  */
 class FilesystemUserFileEntity extends BaseEntity
 {
-    public function upload(int $userID, array|UploadedFile|null $file): FilesystemFileModel
+    public function upload(int $userID, array|UploadedFile|null $file): FilesystemUserFileModel
     {
-        $relativeDir = $userID . '/' . date('Ym') . '/' . date('d');
+        $relativeDir = 'user/'.$userID . '/' . date('Ym') . '/' . date('d');
         $fileHash = $file->hash();
         $fileEntity = $this->withTrashed()->where([
             'file_hash' => $fileHash,