Web应用程序以在彩票中心下载中生成QR码

快速响应代码是二维象形代码,因为它具有快速的可读性和相对较大的存储容量。该代码由在白色背景上以正方形图案排列的黑色模块组成。编码的信息可以由任何种类的数据(例如,二进制,字母数字或汉字符号)组成。

Web应用程序生成条形码的基本示例。第三方条形码包中提供了用于生成条形码的算法或内部逻辑。这里的目标是显示一个示例,说明如何使用包和创建Web应用程序。


1.安装所需的软件包

条码 包装可用于创建不同类型的条形码。您可以通过在git bash终端中执行以下命令来安装此软件包:

go get github.com/boombuler/barcode

2.发展

2.1 主要 .go的源代码

主要 函数以对http.HandleFunc的调用开始,该调用告诉http程序包使用以下命令处理对Web根目录(“ /”)的所有请求 家庭处理程序. The function 家庭处理程序 的类型为http.HandlerFunc。它需要一个http.ResponseWriter和一个 http.Request 作为其论据。

功能 viewCodeHandler 这将允许用户在新页面中查看生成的QR码。它将处理带有前缀的URL “/发电机/”。函数template.ParseFiles将读取以下内容 generator.html 并返回一个* template.Template。

package  主要 

import (
	"image/png"
	"net/http"
	"text/template"

	"github.com/boombuler/barcode"
	"github.com/boombuler/barcode/qr"
)

type Page struct {
	Title string
}

func  主要 () {
	http.HandleFunc("/", 家庭处理程序)
	http.HandleFunc(“/发电机/”, viewCodeHandler)
	http.ListenAndServe(":8080", nil)
}

func 家庭处理程序(w http.ResponseWriter, r *http.Request) {
	p := Page{Title: "QR Code Generator"}

	t, _ := template.ParseFiles("generator.html")
	t.Execute(w, p)
}

func viewCodeHandler(w http.ResponseWriter, r *http.Request) {
	dataString := r.FormValue("dataString")

	qrCode, _ := qr.Encode(dataString, qr.L, qr.Auto)
	qrCode, _ = barcode.Scale(qrCode, 512, 512)

	png.Encode(w, qrCode)
}

形式价值 函数将给出dataString输入字段的值,该字段将用于使用以下命令生成QR码 编码 功能。

2.2 generator.html的源代码。

包含HTML表单的模板文件。

<h1>{{.Title}}</h1>
<div>Please enter the string you want to QRCode.</div>
<form action="generator/" method=post>
    <input type="text" name="dataString">
    <input type="submit" value="Submit">
</form>

3.执行

使用命令行或腻子运行命令“ go run 主要 .go”

您将看到如下图所示的输出。