护照识别接口,在运golang版本的sdk示例时一直报file already closed 的错误-[阿里云_云淘科技]

护照识别接口,在运golang版本的sdk示例时一直报file already closed 的错误-[阿里云_云淘科技]

护照识别接口,在运golang版本的sdk示例时一直报file already closed 的错误-[阿里云_云淘科技]

图片路径为项目main.go文件同一层级目录的图片

package main

import (
“fmt”
“os”

openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
stream "github.com/alibabacloud-go/darabonba-stream/client"
util "github.com/alibabacloud-go/tea-utils/v2/service"
"github.com/alibabacloud-go/tea/tea"

)

/**

  • 使用AK&SK初始化账号Client
  • @param accessKeyId
  • @param accessKeySecret
  • @return Client
  • @throws Exception
    /
    func CreateClientCommon(accessKeyId
    string, accessKeySecret string) (_result openapi.Client, _err error) {
    config := &openapi.Config{
     // 必填,您的 AccessKey ID
     AccessKeyId: accessKeyId,
     // 必填,您的 AccessKey Secret
     AccessKeySecret: accessKeySecret,
    

    }
    // Endpoint 请参考 https://api.aliyun.com/product/ocr-api
    config.Endpoint = tea.String(“ocr-api.cn-hangzhou.aliyuncs.com”)
    _result = &openapi.Client{}
    _result, _err = openapi.NewClient(config)
    return _result, _err
    }

/**

  • API 相关
  • @param path params
  • @return OpenApi.Params
    /
    func CreateApiInfoCommon() (_result
    openapi.Params) {
    params := &openapi.Params{
     // 接口名称
     Action: tea.String("RecognizePassport"),
     // 接口版本
     Version: tea.String("2021-07-07"),
     // 接口协议
     Protocol: tea.String("HTTPS"),
     // 接口 HTTP 方法
     Method:   tea.String("POST"),
     AuthType: tea.String("AK"),
     Style:    tea.String("V3"),
     // 接口 PATH
     Pathname: tea.String("/"),
     // 接口请求体内容格式
     ReqBodyType: tea.String("json"),
     // 接口响应体内容格式
     BodyType: tea.String("json"),
    

    }
    _result = params
    return _result
    }

func _mainCommon(args []*string) (_err error) {

client, _err := CreateClientCommon(tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")), tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")))
if _err != nil {
    return _err
}

params := CreateApiInfoCommon()
// 需要安装额外的依赖库,直接点击下载完整工程即可看到所有依赖。
body := stream.ReadFromFilePath(tea.String("passport.jpg"))
// runtime options
runtime := &util.RuntimeOptions{}
request := &openapi.OpenApiRequest{
    Stream: body,
}
// 复制代码运行请自行打印 API 的返回值
// 返回值为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode。
resp, _err := client.CallApi(params, request, runtime)
if _err != nil {
    return _err
}
fmt.Println(resp)
return _err

}

func main() {
err := _mainCommon(tea.StringSlice(os.Args[1:]))
if err != nil {
panic(err)
}
}

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/21162.html

(0)
匿名
上一篇 2024年1月11日 下午2:52
下一篇 2024年1月11日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。