1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package oss
- import (
- "bytes"
- "context"
- "fmt"
- "jygit.jydev.jianyu360.cn/BaseService/ossClient/constant"
- "jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
- "jygit.jydev.jianyu360.cn/BaseService/ossClient/pb"
- "log"
- )
- type myWriter struct {
- resp pb.Service_DownloadServer
- }
- func (m *myWriter) Write(b []byte) (n int, err error) {
- n = len(b)
- err = m.resp.Send(&pb.Response{Data: b})
- return
- }
- type Grpc struct {
- pb.UnimplementedServiceServer
- }
- func (g *Grpc) Download(req *pb.DownloadRequest, resp pb.Service_DownloadServer) error {
- if err := checkArgs(&entity.Args{BucketID: req.BucketID, ObjectName: req.ObjectName}); err != nil {
- log.Println("grpc方式", fmt.Sprintf(constant.DownloadFail, err))
- return err
- }
- log.Println("grpc方式下载", req.BucketID, req.ObjectName)
- return Download(&myWriter{resp: resp}, 0, req.BucketID, req.ObjectName)
- }
- func (g *Grpc) GetBidDetail(req *pb.DownloadRequest, resp pb.Service_DownloadServer) error {
- if err := checkArgs(&entity.Args{BucketID: req.BucketID, ObjectName: req.ObjectName}); err != nil {
- log.Println("grpc方式", fmt.Sprintf(constant.GetBidDetailFail, err))
- return err
- }
- log.Println("grpc方式获取正文", req.BucketID, req.ObjectName)
- GetBidDetail(&myWriter{resp: resp}, req.BucketID, req.ObjectName)
- return nil
- }
- func (g *Grpc) Upload(ctx context.Context, req *pb.UploadRequest) (*pb.Response, error) {
- if err := checkArgs(&entity.Args{BucketID: req.BucketID, ObjectName: req.ObjectName}); err != nil {
- log.Println("grpc方式", fmt.Sprintf(constant.UploadFail, err))
- return nil, err
- }
- err := Upload(req.BucketID, req.ObjectName, bytes.NewReader(req.Stream), req.Gzip)
- if err != nil {
- return nil, err
- }
- return &pb.Response{ErrorMsg: constant.UploadSuccess}, nil
- }
|