将图片转换为base64 格式
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 格式的更多相关文章
- Java图片转换为base64格式
/** * @Descriptionmap 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 * @author temdy * @Date 2015-01-26 * @param pa ...
- html5 图片转为base64格式异步上传
因为有这个需求(移动端),所以就研究了一下,发现还挺不错的.这个主要是用了html5的API,不需要其他的JS插件,不过只有支持html5的浏览器才行,就现在而言应该大部份都支持的.<!DOCT ...
- windows+caffe(二)——图片转换为levedb格式
借鉴于langb2014的 http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的 http://blog.cs ...
- 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 ...
- Ubuntu 下将 svg 图片转换为其他格式 (如 png)
参考 How to Convert SVG Files to other Image Formats on Ubuntu 12.04/11.10 Ubuntu 下将 svg 图片转换为其他格式 (如 ...
- C# 图片转换为base64
WebRequest webRequest = WebRequest.Create("验证码url"); WebResponse webResponse = webRequest. ...
- PHP将图片转base64格式函数
base64的好处是什么?今天在跟小伙伴讨论这个问题,要是全站用Php把图片转为base64行不行? 1. 提升性能: 网页上的每一个图片,都是需要消耗一个 http 请求下载而来的, 图片的下载始终 ...
- 图片转化base64格式
public function Base64EncodeImage($ImageFile) { // 图片转化base64格式 , 图片需要在本地,有访问权限 , 相对于项目路径 if(file_ex ...
随机推荐
- Python语言在企业级应用上的十大谬误
英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.os ...
- ps -aux中的time 的意思
ps -aux 显示所有包含其他使用者的行程 aux 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER: 行程拥有者 ...
- 关于grub的那些事(三)
接着第二篇的研究,继续分析/etc/grub.d/10_linux. #! /bin/sh set -e prefix="/usr" exec_prefix="${pre ...
- IOS学习之路十七(通过delegate进行页面传值)
加入有A B两个页面,要实现从A跳到B的时候把值传过去,现在用delegate协议来实现 在A中定义一个协议,定义一个实现该协议的属性变量 在B中定义一个值(要获得的值类型)和set方法. 要传值B ...
- JDBC之事务隔离级别以及ACID特性
JDBC之事务隔离级别以及ACID特性 事务隔离级别: 1.更新遗失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了.这是因为系统没有 ...
- 使用js加载图像和setDataXML()加载数据
使用js加载图像和setDataXML()加载数据 前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT>和<E ...
- WP8开发札记(一)WP8应用生命周期管理
在介绍生命周期前,我们先了解两个相关的概念. 1.墓碑机制:WP8与Android采用的真后台机制不同,WP8采用的是墓碑机制.一旦从当前应用程序离开(非退出),该应用会被墓碑化,这样可以更好的管理( ...
- 自己动手用maven构建基于SSI的java EE应用
上篇跟大家聊了聊maven的简单使用,之前也写了一篇搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境的文章,但是那篇只是给初学者搭建一个简单的SSI应用的框架,其实我 ...
- 编写类String 的构造函数、析构函数和赋值函数
编写类String 的构造函数.析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造 ...
- 【驱动】USB驱动·入门
[驱动]USB驱动·入门 Preface USB是目前最流行的系统总线之一.随着计算机周围硬件的不断扩展,各种设备使用不同的总线接口,导致计算机外部总线种类繁多,管理困难.USB总线正是因此而诞生的. ...