@@ -0,0 +1,30 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"image"
|
||||
_ "image/jpeg"
|
||||
_ "image/png"
|
||||
"io"
|
||||
|
||||
"github.com/makiuchi-d/gozxing"
|
||||
"github.com/makiuchi-d/gozxing/qrcode"
|
||||
)
|
||||
|
||||
func DecodeQRCode(file io.Reader) (content string, err error) {
|
||||
img, _, err := image.Decode(file)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// prepare BinaryBitmap
|
||||
bmp, err := gozxing.NewBinaryBitmapFromImage(img)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
// decode image
|
||||
qrReader := qrcode.NewQRCodeReader()
|
||||
result, err := qrReader.Decode(bmp, nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return result.String(), nil
|
||||
}
|
||||
Reference in New Issue
Block a user