生成Base64格式的二维码/条形码
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
"errors"
|
"errors"
|
||||||
"image/png"
|
"image/png"
|
||||||
"os"
|
"bytes"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"git.rosy.net.cn/baseapi/platformapi"
|
"git.rosy.net.cn/baseapi/platformapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -465,50 +465,10 @@ func CaculateSkuEarningPrice(shopPrice, salePrice int64, storePayPercentage int)
|
|||||||
return earningPrice
|
return earningPrice
|
||||||
}
|
}
|
||||||
|
|
||||||
func File2BytesByFileName(filename string) ([]byte, error) {
|
|
||||||
file, err := os.Open(filename)
|
|
||||||
defer file.Close()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return File2BytesByFile(file)
|
|
||||||
}
|
|
||||||
|
|
||||||
func File2BytesByFile(file *os.File) ([]byte, error) {
|
|
||||||
stats, err := file.Stat()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
data := make([]byte, stats.Size())
|
|
||||||
_, err = file.Read(data)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return data, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func CreateCodeImage(qrCode barcode.Barcode) (fileName string, err error) {
|
|
||||||
fileName = "qrcode.png"
|
|
||||||
file, err := os.Create(fileName)
|
|
||||||
defer file.Close()
|
|
||||||
if err == nil {
|
|
||||||
err = png.Encode(file, qrCode)
|
|
||||||
}
|
|
||||||
|
|
||||||
return fileName, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetImgBase64(qrCode barcode.Barcode) (imgBase64 string, err error) {
|
func GetImgBase64(qrCode barcode.Barcode) (imgBase64 string, err error) {
|
||||||
fileName, err := CreateCodeImage(qrCode)
|
bufWriter := bytes.NewBuffer(nil)
|
||||||
if err == nil {
|
png.Encode(bufWriter, qrCode)
|
||||||
fileData, err := File2BytesByFileName(fileName)
|
imgBase64 = "data:image/png;base64," + base64.StdEncoding.EncodeToString(bufWriter.Bytes())
|
||||||
if err == nil {
|
|
||||||
imgBase64 = "data:image/png;base64," + base64.StdEncoding.EncodeToString(fileData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return imgBase64, err
|
return imgBase64, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user