wangchuanjin 1 ماه پیش
والد
کامیت
ee92e27e84
2فایلهای تغییر یافته به همراه36 افزوده شده و 7 حذف شده
  1. 24 7
      client.go
  2. 12 0
      client_grpc_test.go

+ 24 - 7
client.go

@@ -347,13 +347,30 @@ func DownloadByGrpc(address string, args *entity.Args, timeout int64) (*pb.Respo
  * @return error 错误信息
  */
 func GetBidDetailByGrpc(address string, args *entity.Args) (*api.Result, error) {
-	result, err := DownloadByGrpc(address, args, 0)
+	serviceClient, ctx, cancel, err := GrpcCall(address, 0)
+	defer cancel()
+	result := &api.Result{}
 	if err != nil {
-		return &api.Result{}, err
+		return result, err
+	}
+	resp, err := serviceClient.GetBidDetail(ctx, &pb.DownloadRequest{BucketID: args.BucketID, ObjectName: args.ObjectName})
+	if err != nil {
+		log.Println(err)
+		return nil, err
+	}
+	b := &bytes.Buffer{}
+	for {
+		reply, err := resp.Recv()
+		if err == io.EOF {
+			break
+		} else if err != nil {
+			log.Println(err)
+			return nil, err
+		}
+		result.Error_msg = reply.ErrorMsg
+		result.Error_code = int(reply.ErrorCode)
+		b.Write(reply.Data)
 	}
-	return &api.Result{
-		Data:       string(result.Data),
-		Error_code: int(result.ErrorCode),
-		Error_msg:  result.ErrorMsg,
-	}, nil
+	result.Data = string(b.Bytes())
+	return result, nil
 }

+ 12 - 0
client_grpc_test.go

@@ -17,3 +17,15 @@ func TestDownloadByGrpc(t *testing.T) {
 		time.Sleep(3 * time.Second)
 	}
 }
+
+// rpc方式下载附件
+func TestGetBidDetailByGrpc(t *testing.T) {
+	for {
+		b, err := GetBidDetailByGrpc("127.0.0.1:8012", &entity.Args{
+			BucketID:   "58b9393361a0721f1516be41",
+			ObjectName: imgFileName,
+		})
+		t.Log(err, b.Data.(string))
+		time.Sleep(3 * time.Second)
+	}
+}