app->bind('filesystem', FilesystemUploadService::class); } public function upload(string $contextId, File $file, SysFileRule $rule): UploadFile { $sysFileRecord = new SysFileRecord; // 存储规则相关 $sysFileRecord->set('rid', $rule->id); // ruleId $sysFileRecord->set('disk', $rule->disk); // 存储disk // 文件信息相关 $sysFileRecord->set('path', ''); // 文件存储路径 $sysFileRecord->set('name', ''); // 文件名称 $sysFileRecord->set('length', (int)$file->getSize()); // 文件大小 $sysFileRecord->set('content_type', $file->getMime()); // 文件类型(mime) $sysFileRecord->set('md5', $file->md5());// 文件md5 $sysFileRecord->set('sha1', $file->sha1()); // 文件sha1 $sysFileRecord->set('extension', $file->extension()); // 文件扩展名(extension) $sysFileRecord->set('origin_name', $file->getFilename()); // 文件原始名称 $sysFileRecord->set('create_time', date('Y-m-d H:i:s')); // 文件记录创建时间 $sysFileRecord->set('create_date', date('Y-m-d')); // 文件记录创建日期 // 关联数据相关 $sysFileRecord->set('context_id', $contextId); // 来源上下文 // 返回UploadFile实体类 $uploadFile = new UploadFile(); $uploadFile->done($file, $sysFileRecord); return $uploadFile; } }