getfilemetalogic.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package logic
  2. import (
  3. "context"
  4. "fmt"
  5. "app.yhyue.com/moapp/jyfs/rpc/filesystem"
  6. "app.yhyue.com/moapp/jyfs/rpc/internal/svc"
  7. "github.com/tal-tech/go-zero/core/logx"
  8. )
  9. type GetFileMetaLogic struct {
  10. ctx context.Context
  11. svcCtx *svc.ServiceContext
  12. logx.Logger
  13. }
  14. func NewGetFileMetaLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetFileMetaLogic {
  15. return &GetFileMetaLogic{
  16. ctx: ctx,
  17. svcCtx: svcCtx,
  18. Logger: logx.WithContext(ctx),
  19. }
  20. }
  21. // 获取文件元数据
  22. func (l *GetFileMetaLogic) GetFileMeta(in *filesystem.LoadFileReq) (*filesystem.LoadFileMetaResp, error) {
  23. // todo: add your logic here and delete this line
  24. // // 获取存储空间。
  25. bucket, err := l.svcCtx.OssClient.Bucket(in.Domain)
  26. if err != nil {
  27. return &filesystem.LoadFileMetaResp{}, nil
  28. }
  29. // 获取文件元信息。
  30. props, err := bucket.GetObjectDetailedMeta(in.FileId)
  31. if err != nil {
  32. return &filesystem.LoadFileMetaResp{}, nil
  33. }
  34. fmt.Println("Object Meta:", props)
  35. return &filesystem.LoadFileMetaResp{}, nil
  36. }