package logic import ( "context" "fmt" "os" "app.yhyue.com/moapp/jyfs/api/internal/svc" "app.yhyue.com/moapp/jyfs/api/internal/types" fsc "app.yhyue.com/moapp/jyfs/rpc/filesystemclient" "github.com/zeromicro/go-zero/core/logx" ) type UploadFileLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewUploadFileLogic(ctx context.Context, svcCtx *svc.ServiceContext) UploadFileLogic { return UploadFileLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UploadFileLogic) UploadFile(req types.UploadFileReq) (*types.UploadFileOpResp, error) { // todo: add your logic here and delete this line file, err := os.Open("./que.txt") if err != nil { return nil, err } defer file.Close() // FileInfo: stats, err := file.Stat() if err != nil { return nil, err } // []byte data := make([]byte, stats.Size()) count, err := file.Read(data) if err != nil { return nil, err } fmt.Println(count) resp, err := l.svcCtx.FileSystem.SaveFile(l.ctx, &fsc.SaveFileReq{ Domain: req.Domain, FileId: req.FileId, Meta: req.Meta, RawFileContent: data, }) if err != nil || resp == nil { return &types.UploadFileOpResp{}, err } else { return &types.UploadFileOpResp{}, nil } return &types.UploadFileOpResp{}, nil }