golang实现通过扫描二维码的方式来下载文件
文章目录[隐藏]
由于只是把apk的链接地址生成 二维码,在android手机的微信中扫码的时候,会出现一个空白页面,提示十分不友好,所以我这里自己做了一个简单的页面。
1.搭建文件存储服务
minio搭建链接:http://www.duozhi.online/2023/10/19/ubuntu16-04%e5%ae%89%e8%a3%85minio/
2.上传文件
查看的文件链接地址为:http://*.*.*.*:9000/devportal/dynanicAddFragment-release-unsigned.apk

3.写一个简单的前端页面
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="decorator" content="blank"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<style>
*{ margin:0; padding:0;}
.mbshei{ position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,0.7); z-index:9999; color:#fff; display:none;}
.dianjitishi{ padding: 20px; font-size:20px;}
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
//展示
$('#androidDownload').click(function () {
///判断是否是微信
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
$(".mbshei").show();
} else {
$(".mbshei").hide();
window.location.href ="http://*.*.*.*:9000/devportal/dynanicAddFragment-release-unsigned.apk";
}
});
});
</script>
</head>
<body>
<div style="text-align:center; margin-top:8vh">
<div style="font-size: 25px">app 安装包下载</div>
</div>
<div style=" text-align:center; padding-top:30px;">
<button id="androidDownload" style="width: 60%; font-size:20px;font-weight: bold; box-shadow: 2px 5px 10px 2px #000">
下载
</button>
</div>
<div class="mbshei" id="mb">
<div class="dianjitishi">
<label>1.点击右上角的 ... </label>
</div>
<div class="dianjitishi">
<label>2.选择浏览器打开</label>
</div>
</div>
</body>
</html>
把html放到nginx中,让用户能访问
server {
listen 7757;
server_name localhost;
location / {
output_buffers 4 256k;
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /appDownload/ {
alias /root/appDownload/;
}
}
访问该页面

3.golang把上面网址生成二维码
package main
import "github.com/skip2/go-qrcode"
func main() {
err := qrcode.WriteFile("http://*****:7757/appDownload/index.html", qrcode.Medium, 256, "qr.png")
if err != nil {
panic(err)
}
}
点开qr.png即是二维码图片。
浏览器打开,点击下载会直接下载内容
微信扫描打开

点击下载后

点击右上角的… 之后,重新进入下载页面

点击下载即可
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
转载请注明来源:golang实现通过扫描二维码的方式来下载文件 - 多知在线