dynamsoft部署了基於rest的條形碼服務。這裡分享下如何使用go語言傳送包含base64影象資料的http post請求。
1. 讀取影象檔案。
2. 把byte陣列轉換成base64字串。
3. json編碼。
4. 通過http post傳送json資料。
5. 伺服器識別條形碼返回結果。
6. json解碼獲取結果。
使用package ioutil讀取檔案:
import
"io/ioutil"
data, err := ioutil.readfile(filename)
base64編碼。因為i/o比較耗時,可以放到goroutine中去執行。通過channel返回結果:
import
"encoding/base64"
channel
先把資料儲存在map中:
base64data :=
data :=
make
(map
[string
]inte***ce
{})data[
"image"
] = base64data
data[
"barcodeformat"
] =
234882047
data[
"maxnumperpage"
] =
1
使用package json編碼:
jsondata, err := json.marshal(data)
返回結果json解碼:
result, _ := ioutil.readall(resp.body)
// decode json
const resultkey = "displayvalue"
dec := json.newdecoder(bytes.newreader(result))
for
if err != nil
tmp := fmt.sprintf("%v", t)
if tmp == resultkey
}
使用package http傳送http post請求:
1. 獲取依賴包:
2. 在go工程中匯入依賴:
3. 建立main.go:
}4. 編譯執行程式:
go
install
/bin/main
file>
Go語言呼叫dll
user32 syscall.newlazydll imobiledevice.dll messageboxw user32.newproc idevice event subscribe messageboxw.call uintptr c.test uintptr s imobiledevice...
Go語言微服務
微服務 go語言 docker技術也算目前比較熱門的技術話題,本人也是抱著學習的思想,整理一些學習心得,和志同道合的朋友一起 學習一下。接下來是一系列關於go語言微服務的系列文章。為什麼是go語言的微服務,原因很簡單,最近對go語言花了些時間對它進行了深入學習,還談不上很厲害,但熱度挺高。加上最近專...
Go語言入門 延遲呼叫 defer
func functionname parameterlist returntypes 語句defer想當前函式註冊乙個稍微執行的函式呼叫,它會在主調函式或者方法返回之前但是其返回值 當返回值存在 計算後執行。存在多個defer語句採用後進先出lifo last in first out 的順序執行...