royalrick / weapp

微信小程序服务端 SDK (for Golang)
https://pkg.go.dev/github.com/medivhzhan/weapp/v3
Apache License 2.0
1.47k stars 281 forks source link

二维码图片该怎么保存为文件呢? #6

Closed cmzz closed 6 years ago

cmzz commented 6 years ago
res, err := coder.UnlimitedAppCode(wechat.GetToken())
        defer res.Body.Close()

        if err != nil {
            util.CheckError(err, 41007)
        }

        qrName := fmt.Sprintf("storage/images/qr/qr_item_%d_%d.jpeg", itemId, memberId)
        f, _ := os.Create(qrName)
        defer f.Close()

        contents, err := ioutil.ReadAll(res.Body)
        io.Copy(f, bytes.NewReader(contents))

按上面这种方式保存,图片无法打开

royalrick commented 6 years ago
coder := code.QRCoder{
            Scene:     "123",                // 参数数据
            Page:      "pages/moments/main", // 识别二维码后进入小程序的页面链接
            Width:     280,                  // 图片宽度
            IsHyaline: true,                 // 是否需要透明底色
            AutoColor: false,                // 自动配置线条颜色, 如果颜色依然是黑色, 则说明不建议配置主色调
            LineColor: code.Color{ //  AutoColor 为 false 时生效, 使用 rgb 设置颜色 十进制表示
                R: "50",
                G: "50",
                // B: "50",
            },
        }
        res, err := coder.UnlimitedAppCode(your_token)
        if err != nil {
            //
        }
        defer res.Body.Close()

        bytes, err := ioutil.ReadAll(res.Body)
        if err != nil {
            return
        }
        f, err := os.Create("code.jpeg")
        if err != nil {
            return
        }
        defer f.Close()

        f.Write(bytes)

参考下