javascript从image转换为base64位编码的String
2014-07-29 10:10
711 查看
最近需要把app的微信分享方法开放给webview,涉及到分享的图片,如果通过传送图片连接,那将要在后台再取一次图片文件,会影响速度,我选择webview把image以base64位编码的方式传给本地应用。 下面是实现的参考代码:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Image to Base64 - jsFiddle demo by handtrix</title> <script type='text/javascript' src='//code.jquery.com/jquery-2.0.2.js'></script> <link rel="stylesheet" type="text/css" href="/css/result-light.css" rel="external nofollow" > <style type='text/css'> @import url('//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css'); body{ padding: 20px; } </style> <script type='text/javascript'>//<![CDATA[ $(window).load(function(){ /** * convertImgToBase64 * @param {String} url * @param {Function} callback * @param {String} [outputFormat='image/png'] * @author HaNdTriX * @example convertImgToBase64('http://goo.gl/AOxHAL', function(base64Img){ console.log('IMAGE:',base64Img); }) */ function convertImgToBase64(url, callback, outputFormat){ var canvas = document.createElement('CANVAS'); var ctx = canvas.getContext('2d'); var img = new Image; img.crossOrigin = 'Anonymous'; img.onload = function(){ canvas.height = img.height; canvas.width = img.width; ctx.drawImage(img,0,0); var dataURL = canvas.toDataURL(outputFormat || 'image/png'); callback.call(this, dataURL); // Clean up canvas = null; }; img.src = url; } $('#img2b64').submit(function(event){ var imageUrl = $(this).find('input[name=url]').val(); console.log('imageUrl', imageUrl); convertImgToBase64(imageUrl, function(base64Img){ $('.output') .find('textarea') .val(base64Img) .end() .find('a') .attr('href', base64Img) .text(base64Img) .end() .find('img') .attr('src', base64Img); }); event.preventDefault(); }); });//]]> </script> </head> <body> <h2>Input</h2> <form class="input-group" id="img2b64"> <input type="url" name="url" class="form-control" placeholder="Insert an IMAGE-URL" value="http://upload.wikimedia.org/wikipedia/commons/4/4a/Logo_2013_Google.png" required> <span class="input-group-btn"> <input type="submit" class="btn btn-default"> </span> </form> <hr> <h2>Output</h2> <div class="output"> <textarea class="form-control"></textarea><br> <a></a><br><br> <img><br> </div> </body> </html>
PS:这里再为大家提供一款在线图片转base64编码的工具供大家参考使用:
图片转换为Base64编码在线工具:http://tools.jb51.net/transcoding/img2base64
您可能感兴趣的文章:
- 零基础写python爬虫之使用urllib2组件抓取网页内容
- 实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
- Python制作爬虫抓取美女图
- java常用工具类之DES和Base64加密解密类
- php中base64_decode与base64_encode加密解密函数实例
- js对图片base64编码字符串进行解码并输出图像示例
- c# Base64编码和图片的互相转换代码
- js 显示base64编码的二进制流网页图片
- JavaScript Base64编码和解码,实现URL参数传递。
- JS实现的base64加密、md5加密及sha1加密详解
- javascript使用btoa和atob来进行Base64转码和解码
相关文章推荐
- javascript从image转换为base64位编码的String
- Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换
- Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码
- Java实现图片与base64位编码互相转换
- js将echarts图表转换成base64位格式编码的图片
- Java实现图片与base64位编码互相转换
- VS2010 编码问题 不能将参数 1 从“ATL::CStringT<BaseType,StringTraits>”转换为“const char *”
- iOS开发之将base64位编码的字符串转换为图片,data转图片,图片转data
- javascript从image转换为String
- 新浪微博(十三)64位编码转换的实现(Base64类)
- Image对象生成Base64位编码
- [原创]用javascript编写的GB2312编码转换成UTF-8的函数
- Javascript &#unicode;和/uxxxx编码的转换
- javascript如何将响应的String类型转换成Json类型
- Javascript 把string类型转换int类型
- JavaScript实现的base62 encode/decode,用于页面上直接对作为参数传递的url本身的编码和解码。
- Javascript 给String对象扩展HTML编码和解码的方法
- 使用8位字节的编码格式将字节流安全的转换成String
- 在javascript里 string 和 int 类型得相互转换