1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL

例子:给定图片的url 将图片转换为base64

var imageSrc = "../images/0.jpg"; // 图片的URL

//@param image:Image 对象,ext:图片的格式(jpg)
function getBase64Image(image,ext){
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image,0,0,image.width,image.height);

// 这里是不支持跨域的
var base64 = canvas.toDataURL("image/"+ext);
return base64;

}

var image = new Image();
//image.crossOrigin=""; // 如果图片是跨域的,填上"*"或者"anonymous" 核心是请求头中包含了 Origin: "anonymous"或"*" 字段,响应头中就会附加上 Access-Control-Allow-Origin: * 字段,

image.src = imageSrc;

image.onload = function(){
var ext = imageSrc.substring(imageSrc.lastIndexOf(".")+1);
var base64 = getBase64Image(image,ext);
console.log(base64);
//alert(base64);
}

2.将已经显示在页面上的图片转换为base64

<img src="https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg" alt="" crossorigin="*">

如果是跨域的图片,要加上 crossorigin 属性

setTimeout(function(){
console.log(getBase64Image(document.getElementsByTagName("img")[0],"jpg"));
},3000);

2.文件选择图片时,转换成base64

使用FileReader api  readAsDataURL  FileReader AIP 地址 https://developer.mozilla.org/en-US/docs/Web/API/FileReader

例子:

<input type="file" value="sdgsdg" id="demo_input" />

window.onload = function(){
var file = document.getElementById("demo_input");
file.onchange = function(){
var file = this.files[0];
alert(file.type);
if(!/image/.test(file.type));
return;
var reader = new FileReader();
reader.readAsDataURL(file)
reader.onload = function(){
alert(this.result);
}
}

}

将图片转换为base64 格式的更多相关文章

  1. Java图片转换为base64格式

    /** * @Descriptionmap 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 * @author temdy * @Date 2015-01-26 * @param pa ...

  2. html5 图片转为base64格式异步上传

    因为有这个需求(移动端),所以就研究了一下,发现还挺不错的.这个主要是用了html5的API,不需要其他的JS插件,不过只有支持html5的浏览器才行,就现在而言应该大部份都支持的.<!DOCT ...

  3. windows+caffe(二)——图片转换为levedb格式

    借鉴于langb2014的  http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的  http://blog.cs ...

  4. js 图片转换为base64

    <input id="file" type="file"> <img id="img" style="max-h ...

  5. JAVA 将图片转换为Base64编码

    这里使用的jar包是commons-codec-1.10.jar; 示例代码 import java.io.FileInputStream; import java.io.FileOutputStre ...

  6. Ubuntu 下将 svg 图片转换为其他格式 (如 png)

    参考 How to Convert SVG Files to other Image Formats on Ubuntu 12.04/11.10 Ubuntu 下将 svg 图片转换为其他格式 (如 ...

  7. C# 图片转换为base64

    WebRequest webRequest = WebRequest.Create("验证码url"); WebResponse webResponse = webRequest. ...

  8. PHP将图片转base64格式函数

    base64的好处是什么?今天在跟小伙伴讨论这个问题,要是全站用Php把图片转为base64行不行? 1. 提升性能: 网页上的每一个图片,都是需要消耗一个 http 请求下载而来的, 图片的下载始终 ...

  9. 图片转化base64格式

    public function Base64EncodeImage($ImageFile) { // 图片转化base64格式 , 图片需要在本地,有访问权限 , 相对于项目路径 if(file_ex ...

随机推荐

  1. 新认识:SDF数据库

    新认识:SDF数据库 一.SDF数据库初探 SDF是一个标准缩略数据库格式.这个数据库包含扩展名为.sdf的文件并且以结构化文件格式进行数据存储.这些SDF文件通常用于在不同数据库应用之间移动数据.它 ...

  2. python中staticmethod classmethod及普通函数的区别

    staticmethod 基本上和一个全局函数差不多,只不过可以通过类或类的实例对象 (python里光说对象总是容易产生混淆, 因为什么都是对象,包括类,而实际上 类实例对象才是对应静态语言中所谓对 ...

  3. C/C++基础知识总结——数据的共享与保护

    1. 标识符的作用域与可见性 1.1 作用域 标识符的作用域包括:函数原型作用域.局部作用域.类作用域.命名空间作用域 (1) 函数原型作用域:函数的参与的作用域就是从函数的开始到结束 (2) 局部作 ...

  4. Linux网络编程(六)

    网络编程中,使用多路IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用. 2.一个客户同时处理多个套接口. 3.一个tcp服务程序既要处理监听套接口,又要处理 ...

  5. MVC TO LINQ

    // // GET: /Home/ TestTryEntities Db = new TestTryEntities(); public ActionResult Index() { return V ...

  6. GitHub上搭建个人网站

    大致如下步骤: 1.注册Git账号 2.创建SSH keys 3.新建repository --- 4.设置网站 5.clone库到本地 6.提交.上传 7.预览 本教程默认你了解GitHub的基础之 ...

  7. IP选路

    IP选路 1.概述      路由算法是用于获取路由表中的路由项目.它是路由选择协议的核心. 2.路由算法的分类      从路由算法能否随网络的通信量或拓扑自适应的进行调整变化来分,可以分为两类. ...

  8. for惠普2013实习生

    似乎快两个月了,惠普招实习生的时间好像确实有点久. 记得是从五月中旬的时候,惠普来学校招实习生的.因为没能够去腾讯,能拿到惠普的实习生offer也是我所愿了. 记得宣讲的那天,兴冲冲的过去了,惠普的一 ...

  9. java.lang.IllegalArgumentException: Wrong FS ...异常的解决

    配置完Hbase后,启动,JPS发现少了HMaster这个进程.查看了一下日志如下: java.lang.IllegalArgumentException: Wrong FS: hdfs://192. ...

  10. HTML meta viewport属性

    什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机 ...