来源:自学PHP网 时间:2015-04-14 14:51 作者: 阅读:次
[导读] 当你想要这样做的时候,你可以:js直接操作保存post back的保存js直接操作保存ms给出了官方方案,参考以下: 在本地保存 canvas 图像 demo地址IE10上的效果还是不错的,其他...
当你想要这样做的时候,你可以: js直接操作保存 post back的保存js直接操作保存ms给出了官方方案,参考以下: IE10上的效果还是不错的,其他IE版本并未测试。 post back的保存另外一种解决办法,就是取出canvas里的内容,post back回服务器,然后使用文件下载的方式保存图片到本地。 这样操作又回去了一趟服务器并且数据流量还不见得太小(当然对目前的网络速度和服务器配置来说还是小意思,除非真的很多很大),虽然的确不太好但是个人尚没有更好的解决方案。
html hljs ">@section scripts { <script type="text/javascript" src="~/Scripts/jquery.qrcode.min.js"></script> <script type="text/javascript" src="~/Scripts/qrcode.min.js"></script> <script type="text/javascript"> var url = "@Html.Raw(Url.Action("CheckTicket", "MeetingCenter", new { area = "wxfuns", id = Model.Id }).EncodeUrlWithOauth(Model.WxAcct.AppId))"; $("#qrcode").qrcode({ //render: "canvas", //table|canvas方式 width: 400, //宽度 height: 400, //高度 text: url //任意内容 }); //$("#qrcode").qrcode("@ViewBag.url"); function saveAsLocalImage() { // 如果使用getElementById或者$("#qrcode")的方式,会报错说不支持toDataURL方法 var myCanvas = document.getElementsByTagName('canvas')[0]; var image = myCanvas.toDataURL("image/png"); // 这个form动态生成也行 var f = $('#form_download'); // 命名带上“1”是为了提醒以后可以做成多个的键值对 var name1 = $(''); var val1 = $(''); name1.appendTo(f); val1.appendTo(f); f.submit(); // 因为这个f不是动态生成的,需要清空这个form,否则第二次提交就有问题了。 f.html(""); } </script> }
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com