Go实战--二维码生成server
2019独角兽企业重金招聘Python工程师标准>>>
QRCode
百度百科:
QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。
wiki:
QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode (or two-dimensional barcode) first designed for the automotive industry in Japan. A barcode is a machine-readable optical label that contains information about the item to which it is attached. A QR code uses four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to efficiently store data; extensions may also be used
从git上搜索了一圈,找到了 三个二维码库,
https://github.com/boombuler/barcode (stars 421)
https://github.com/skip2/go-qrcode (stars 396)
https://github.com/tuotoo/qrcode (stass 62)
然后写了一个二维码生成服务:
/*
# @Time : 2018/5/16 11:51
# @Author : Mickel Xiang
# @File : qrcode_server.go
# @Function: -----------
*/
package mainimport (bs "encoding/base64""fmt"qrcode "github.com/skip2/go-qrcode""log""net/http"
)func main() {http.HandleFunc("/", http_qrcode) //设置访问的路由err1 := http.ListenAndServe(":8080", nil)if err1 != nil {log.Fatal("ListenAndServe:", err1)}
}
func http_qrcode(w http.ResponseWriter, req *http.Request) {req.ParseForm()param, _ := req.Form["str"]if param == nil {path := "." + req.URL.Pathfmt.Println("path", path)if path == "./favicon.ico" {http.NotFound(w, req)return}fmt.Printf("1a")http.Redirect(w, req, "/?str=", http.StatusFound)return} else {base641 := param[0]var png []bytepng, err := qrcode.Encode(string(base641), qrcode.Medium, 256)if err != nil {fmt.Println("error", err)}encodeString := bs.StdEncoding.EncodeToString(png)ls1 := "<!DOCTYPE html><head><meta charset='utf-8' /></head><body><img src='data:image/png;base64,"ls2 := "'/></body></html>"ls := ls1 + encodeString + ls2fmt.Fprintf(w, ls)}
}
请求地址:
http://localhost:8080/?str=https://www.baidu.com
转载于:https://my.oschina.net/mickelfeng/blog/1813438
Go实战--二维码生成server相关推荐
- Java 快速开发二维码生成服务
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1. 前言 不知道从什么 ...
- .NET 二维码生成(ThoughtWorks.QRCode)
引用ThoughtWorks.QRCode.dll (源代码里有) 1.简单二维码生成及解码代码: //生成二维码方法一private void CreateCode_Simple(string nr ...
- 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态
微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...
- .NET 二维码生成
使用NuGget添加 ThoughtWorks.QRCode 在项目引用: using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Co ...
- 基于WEB的二维码生成系统设计与实现(Asp.net)
目 录 1 引言 6 2 二维码的生成原理 6 2.1基础知识 6 2.1.1定位图案 7 2.1.2功能性数据 8 2.1.3数据码和纠错码 8 2.2数据编码 8 2.3结束符和补齐符 9 2.3 ...
- 二维码生成与解析(使用ThoughtWorks.QRCode)
二维码生成 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEnco ...
- 舒工深度解析不规则场地座位二维码生成规则
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 玩转Android之二维码生成与识别
二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...
- java 二维码生成和解析
2019独角兽企业重金招聘Python工程师标准>>> <!-- 二维码 --><dependency><groupId>com.google.z ...
最新文章
- 所有字符不含换行 正则表达式_网络爬虫 | 正则表达式
- laravel 中创建全局函数 (类似于 TP 中 functions.php) 的方式
- 【项目实战课】AI零基础,人人免费可学!基于Pytorch的SimpleNet人脸表情识别实战...
- Games, rules and ways: 东西卖给谁?
- php.ini在哪里 微赞_Php.ini文件位置在哪里 Php.ini文件找不到
- java for循环break_Java中break、continue、return在for循环中的使用
- 关于线程的执行顺序,可能真的只是你以为的你以为
- python缺失值处理 fillna能否用scala来处理_数据清洗(一)丨处理缺失数据
- 荣耀x10max能不能升级为鸿蒙,荣耀X10 Max即将亮相:容量很“放肆” 身材却很“克制”...
- 以腾讯云IoT Suite为例 谈谈边缘计算在物联网的实践与实现
- NHibernate 3.x新功能实践(二) QueryOver(下)
- jsp页面如何通过href跳转到另一个jsp
- .Net转Java自学之路—基础巩固篇二十二(XML)
- 计算机管理员怎么开通,管理员权限怎么设置
- ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
- 2020快手前端暑期实习面经
- PLC计数器例子——3个计数器构成的24小时时钟
- Terraria-steam联机与服务器搭建联机
- 【电脑使用】如何将电脑磁盘变为移动磁盘?
- oracle rfs进程过多,oracle 11.2 DataGuard少了日志应用进程RFS