# 银龄智库管理页面文件上传功能实施计划 ## 需求概述 在后台银龄智库管理页面新增知识表单中,增加知识封面图片上传和文件附件上传功能,采用已有的文件上传系统。 ## 实施步骤 ### 1. 后端修改 #### 1.1 实体类修改 文件:`src/server/modules/silver-users/silver-knowledge.entity.ts` - 添加封面图片字段:`coverImage` - 添加附件字段:`attachment` - 添加附件名称字段:`attachmentName` #### 1.2 DTO更新 文件:`src/server/modules/silver-users/silver-knowledge.entity.ts` - 更新CreateSilverKnowledgeDto - 更新UpdateSilverKnowledgeDto - 更新SilverKnowledgeSchema ### 2. 前端修改 #### 2.1 创建文件上传组件 基于MinioUploader创建专门的图片上传和文件上传组件 #### 2.2 修改SilverKnowledges页面 文件:`src/client/admin/pages/SilverKnowledges.tsx` - 在表单中添加封面图片上传区域 - 在表单中添加文件附件上传区域 - 在列表中显示封面图片预览 - 在列表中显示附件下载链接 ### 3. 技术方案 #### 3.1 封面图片 - 使用MinioUploader组件,限制图片格式 - 上传路径:`/silver-knowledges/covers/` - 支持图片预览 - 限制文件大小:5MB #### 3.2 文件附件 - 使用MinioUploader组件,支持多种格式 - 上传路径:`/silver-knowledges/attachments/` - 支持文件下载 - 限制文件大小:50MB #### 3.3 文件管理 - 文件存储在MinIO - 数据库保存文件路径和文件名 - 支持文件删除和替换 ## 预期效果 ### 创建/编辑表单 - 封面图片上传区域:显示上传按钮和预览 - 文件附件上传区域:显示上传按钮和文件名 - 表单提交时包含文件信息 ### 列表显示 - 封面列:显示小图预览,点击可查看大图 - 附件列:显示文件名,点击可下载 - 保持现有功能不变 ## 验证要点 1. 图片上传成功并正确显示预览 2. 文件上传成功并可正常下载 3. 创建知识时包含文件信息 4. 编辑知识时可替换文件 5. 删除知识时清理相关文件(可选)