package logic import ( "context" "godemo/file/file" "godemo/gallery/gallery" "godemo/gallery/internal/svc" "github.com/zeromicro/go-zero/core/logx" ) type UploadImageLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewUploadImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadImageLogic { return &UploadImageLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 图片上传 func (l *UploadImageLogic) UploadImage(in *gallery.UploadImageRequest) (*gallery.UploadImageResponse, error) { // 1. 根据 in.CategoryId 查询分类信息,获取分类名称 var categoryName string // 2. 调用 file rpc Upload 接口,上传文件到MinIO l.svcCtx.FileRpc.Upload(l.ctx, &file.UploadRequest{ Filename: in.FileName, Content: in.FileContent, Folder: categoryName, }) // 3. 图片信息存入数据库 // 4. 返回接口执行结果 return &gallery.UploadImageResponse{}, nil }