1NetMedia_Blog

<< 移动平台的meta标签-----神奇的功...  类别: ASP/.NET asp获取地址栏带中文参数 >>
Js生成二维码并通过asp保存为图片实例
[ 日期: 2015-02-13 4:46:19 PM | 作者: admin | 来源: 本站整理 | 人气:2376 | 晴天 | 心情: +2 ] 字号: 【
急速栏目链接:
标签:JS二维码  |  base64图片编码  |  保存图片  |  
js生成的二维码为base64的编码格式,不能直接获取。感谢蓝色理想SenFe提供解决方案。测试可用。
原理:Asp读取xml存储的图片Base64编码,还原成图片。

html代码


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="google" value="notranslate">
<title>JS生成二维码并通过asp保存为图片格式</title>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script src="qrcode.js"></script>
</head>

<body>
<input id="text" type="text" value="http://www.1netmedia.cn/" style="width:80%" /><br />
<div id="qrcode"></div>

<h1>保存后的二维码图片</h1>
<div id="qrcodeimg"></div>
<script type="text/javascript">
function makeCode() {
  var qrcode = new QRCode(document.getElementById("qrcode"),{
    width : 100,//设置宽高
    height : 100
  });
var elText = document.getElementById('text');
if (!elText.value) {
alert("Input a text");
elText.focus();
return;
}
qrcode.makeCode(elText.value);
  $('#qrcode img').load(function(){
    $.post('save.asp',{'code':$('#qrcode img').attr('src')},function(data){
        $('#qrcodeimg').html('<img src="'+data+'" />');
    });
  });
}

makeCode();

$("#text").
  on("blur", function () {
    makeCode();
  }).
  on("keydown", function (e) {
    if (e.keyCode == 13) {
      makeCode();
    }
  });
</script>

</body>
</html>
ASP代码
页面:save.asp

<%
Dim code, sFileName
sFileName = "temp.png"
code = Trim(Request.Form("code"))
If code<>"" Then
createFile sFileName, code
Response.Write sFileName
Response.End
End If


Sub createFile(sFileName, sContent)
  ''保存xml
  sContent = "<?xml version=""1.0"" encoding=""gb2312""?>" & VbCrLf &_
        "<data>" & VbCrLf &_
        "<![CDATA[" & Mid(sContent, InStr(sContent, ",")+1) & "]]>" & VbCrLf &_
        "</data>"
  Dim sTempXmlFile, oFso, oFout, oXml, oAdos
  sTempXmlFile = "temp.xml"
  Set oFso = Server.createObject("Scripting.FileSystemObject")
  Set oFout = oFso.createTextFile(Server.Mappath(sTempXmlFile))
  oFout.Write sContent
  oFout.Close
  Set oFout = Nothing
  Set oFso = Nothing
  ''保存为图片
  Set oXml = Server.createObject("MSxml2.DOMDocument")
  Set oAdos = Server.createObject("ADODB.Stream")
  oXml.resolveExternals = False
  oXml.load Server.MapPath(sTempXmlFile)
  oXml.documentElement.setAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes"
  oXml.documentElement.dataType = "bin.base64"
  oAdos.Type = 1
  oAdos.Open
  oAdos.Write oXml.documentElement.nodeTypedValue
  oAdos.SaveToFile Server.MapPath(sFileName), 2
  oAdos.Close
  Set oXml = Nothing
  Set oAdos = Nothing
End Sub
%>
JS二维码库
Qrcode.js
   
Rss Comment  

没有相关评论

发表评论
请先注册,才能发表评论!
- 注册 -