图片转换为base64
明天中秋了,先祝大家中秋快乐!哈哈,最近见有人在群里问怎么把图片转换成base64格式,之前刚好写过就把代码贴出来。
主要用到canvas中的toDataURL方法
- <!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 = '*';
- 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);
- 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>
可以直接复制到一个html中看下结果就是下边这样
图片转换为base64的更多相关文章
- 将图片转换为base64 格式
1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL 例子:给定图片的url 将图片转换为base64 var imageSrc = "../images/ ...
- js 图片转换为base64
<input id="file" type="file"> <img id="img" style="max-h ...
- JAVA 将图片转换为Base64编码
这里使用的jar包是commons-codec-1.10.jar; 示例代码 import java.io.FileInputStream; import java.io.FileOutputStre ...
- C# 图片转换为base64
WebRequest webRequest = WebRequest.Create("验证码url"); WebResponse webResponse = webRequest. ...
- 【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’
图片转换为base64,经过post传输后‘+’会变成 ‘空格’, 需要用PHP 处理一下 $str= $_POST['img_data']; $str= str_replace(' ','+',$s ...
- C# Base64字符串转换成图片及图片转换为Base64
最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下 字符串与Base64相互转换 ...
- 将图片转换为Base64编码的字符串
图片以文件的形式存在,可以在表单中使用. 也可以转换成Base64编码的字符串,从而在css.js中以字符串的形式使用图片.例如,在css中设置背景图片.在js中用ajax上传图片. <!DOC ...
- js小工具---本地图片转换为base64编码数据
今天用jmeter对图片对比进行性能测试,post请求为json请求,图片为Base64编码后的图片数据.所以需要将一张本地图片生成base64编码,找到一个js小工具,记录在这儿便于以后复用. 效果 ...
- C#中图片转换为Base64编码,Base64编码转换为图片
#region 图片转为base64编码的字符串 public string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = ...
- Java图片转换为base64格式
/** * @Descriptionmap 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 * @author temdy * @Date 2015-01-26 * @param pa ...
随机推荐
- Java的HashMap和Hashtable有什么区别HashSet和HashMap有什么区别?使用这些结构保存的数需要重载的方法是哪些?
HashMap与Hashtable实现原理相同,功能相同,底层都是哈希表结构,查询速度快,在很多情况下可以互用 两者的主要区别如下 1.Hashtable是早期JDK提供的接口,HashMap是新版J ...
- Add cast to是什么意思
eclipse中是强制类型转换的意思.
- 【leetcode】951. Flip Equivalent Binary Trees
题目如下: For a binary tree T, we can define a flip operation as follows: choose any node, and swap the ...
- How To Use PostgreSQL with Your Ruby on Rails Application on Ubuntu 14.04
How To Use PostgreSQL with Your Ruby on Rails Application on Ubuntu 14.04 链接来自于:https://www.digitalo ...
- Sql生成 Insert 语句
declare @TableName sysname select @TableName = 'T_OOSOrder' declare @result varchar(max) = 'INSERT I ...
- json path espressions的语法学习
json path espressions的语法学习 $:跟对象\元素 @:当前对象\元素 ?():应用过滤器(脚本)表达式 如: { "store": { "bo ...
- JAVA中HashMap相关知识的总结(一)
Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...
- The 2019 Asia Nanchang First Round Online Programming Contest(B,E)
B. Fire-Fighting Hero 题意:一个消防员和多个队伍比赛,比较所有地方的最短路的最大值,消防员最后的值要乘1/C,求胜利的一方的最短路的最大值是多少.一直没读懂正确题意(内疚). 思 ...
- JUC源码分析-线程池篇(二)FutureTask
JUC源码分析-线程池篇(二)FutureTask JDK5 之后提供了 Callable 和 Future 接口,通过它们就可以在任务执行完毕之后得到任务的执行结果.本文从源代码角度分析下具体的实现 ...
- MySQL慢查询日志分割
mysql> set global slow_query_log=0; Query OK, 0 rows affected (0.00 sec) mysql> set global s ...