基本的にはURLを指定するサンプルしかない
ので探していろいろやってみた。
実装
sample2.go
package main import ( "log" "net/http" "bytes" "io/ioutil" ) func main() { key1 := "生成したキー" jpegData, _ := ioutil.ReadFile("face.jpg") // EndPoint endPoint := "https://eastasia.api.cognitive.microsoft.com/face/v1.0" // params paramStr := "/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender,glasses" // URL url := endPoint + paramStr log.Println(url) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jpegData)) if err != nil { log.Fatal("Request:", err) return } req.Header.Set("Content-Type", "application/octet-stream") req.Header.Set("Ocp-Apim-Subscription-Key", key1) httpClient := &http.Client{} resp, err := httpClient.Do(req) if err != nil { log.Fatal("Do: ", err) return } defer resp.Body.Close() byteArray, _ := ioutil.ReadAll(resp.Body) log.Println(string(byteArray)) }
↓
2017/11/05 23:02:03 https://eastasia.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender,glasses 2017/11/05 23:02:04 [{"faceId":"b28efd98-47db-460f-8556-d1882565d4a9","faceRectangle":{"top":156,"left":173,"width":178,"height":178},"faceAttributes":{"gender":"male","age":33.8,"glasses":"NoGlasses"}}]
必要なこと
application/octet-streamを送信
image/jpegなどではエラーが帰ってきた
所感
クライアントからファイルを送信するサンプルがなかなか見つからない感じ
ファイルの送信する方法はまだ調べないといけない感じ…