1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package services
- import (
- "encoding/json"
- "fmt"
- "hongze/hz_crm_api/models/cygx"
- "io/ioutil"
- "net/http"
- "strings"
- "time"
- )
- var (
- AliyunAppCode = "22553c4ba74545568aba70ac6cfd441d" // AppCode
- )
- type AliOcrByImageToTextResp struct {
- RequestID string `json:"request_id"`
- Ret []struct {
- Rect struct {
- Angle int64 `json:"angle"`
- Height int64 `json:"height"`
- Left int64 `json:"left"`
- Top int64 `json:"top"`
- Width int64 `json:"width"`
- } `json:"rect"`
- Word string `json:"word"`
- } `json:"ret"`
- Success bool `json:"success"`
- }
- //func init() {
- // AliOcrByImageToText("https://hzstatic.hzinsights.com/cygx/config/a2.jpg")
- //}
- // 阿里云OCR将图片转文字
- func AliOcrByImageToText(imageurl string) (item *AliOcrByImageToTextResp, err error) {
- url := "https://tysbgpu.market.alicloudapi.com/api/predict/ocr_general"
- method := "POST"
- payload := strings.NewReader(`{
- "image":"` + imageurl + `"
- }`)
- client := &http.Client{}
- req, err := http.NewRequest(method, url, payload)
- if err != nil {
- fmt.Println(err)
- return
- }
- req.Header.Add("Authorization", "APPCODE "+AlAppCode)
- req.Header.Add("Content-Type", "application/json")
- res, err := client.Do(req)
- if err != nil {
- fmt.Println(err)
- return
- }
- defer res.Body.Close()
- body, err := ioutil.ReadAll(res.Body)
- if err != nil {
- fmt.Println(err)
- return
- }
- err = json.Unmarshal(body, &item)
- if err != nil {
- fmt.Println(err)
- return
- }
- logItem := new(cygx.AliyunOcrLog)
- logItem.ImgUrl = imageurl
- logItem.Result = string(body)
- logItem.CreateTime = time.Now()
- err = cygx.AddAliyunOcrLog(logItem)
- return
- }
|