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(){
var width = img.width;
var height = img.height;
// 按比例压缩4倍
var rate = (width<height ? width/height : height/width)/4;
canvas.width = width*rate;
canvas.height = height*rate;
ctx.drawImage(img,0,0,width,height,0,0,width*rate,height*rate);
var dataURL = canvas.toDataURL(outputFormat || 'image/png');
callback.call(this, dataURL);
canvas = null;
};
img.src = url;
} convertImgToBase64("http://img3.imgtn.bdimg.com/it/u=4271053251,2424464488&fm=21&gp=0.jpg", function(base64Img){
// base64Img为转好的base64,放在img src直接前台展示(<img src="data:image/jpg;base64,/9j/4QMZRXh...." />)
console.log(base64Img);
// base64转图片不需要base64的前缀data:image/jpg;base64 }
)

转本地 图片 base64

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简单的html5 File测试 for pic2base64 本地图片</title>
<style>
</style>
<script>
window.onload = function(){
var input = document.getElementById("demo_input");
var result= document.getElementById("result");
var img_area = document.getElementById("img_area");
if ( typeof(FileReader) === 'undefined' ){
result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!";
input.setAttribute( 'disabled','disabled' );
} else {
input.addEventListener( 'change',readFile,false );}
}
function readFile(){
var file = this.files[0];
//这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件
if(!/image\/\w+/.test(file.type)){
alert("请确保文件为图像类型");
return false;
}
var reader = new FileReader();
reader.readAsDataURL(file); //转化为base64位
reader.onload = function(e){
result.innerHTML = '<img src="'+this.result+'" alt=""/>';
img_area.innerHTML = '<div class="sitetip">图片img标签展示:</div><img src="'+this.result+'" alt=""/>';
}
}
</script>
</head>
<body>
<input type="file" value="sdgsdg" id="demo_input" />
<textarea id="result" rows=30 cols=300></textarea>
<p id="img_area"></p>
</body>
</html>

最新文章

  1. 操作系统核心原理-7.设备管理:I/O原理
  2. HTML5零基础学习Web前端需要知道哪些?
  3. COM思想的背后
  4. MySQL临时表
  5. Matlab的曲线拟合工具箱CFtool使用简介
  6. 无序数组的中位数(set+deque)hdu5249
  7. const char*, char const* and char *const 分类: C/C++ OpenCV 2014-11-08 18:10 114人阅读 评论(0) 收藏
  8. K - Treasure Exploration - POJ 2594(最小路径覆盖+闭包传递)
  9. linux pc syncy安装问题
  10. solr索引库的创建
  11. elk安装配置
  12. Tomcat 集群中 实现session 共享的三种方法
  13. [Day20]Map接口、可变参数、Collections
  14. VBoxManage安装
  15. VSFTP 配置虚拟用户
  16. (转) CentOS7.4 + MySQL8.0 + Git + Gogs搭建
  17. Python MySQLdb 批量插入 封装
  18. PyQt的signal 和 solit的补充
  19. 12、xamarin form中实现H5 网页唤醒微信支付的方法
  20. Gcc And MakeFile Level1

热门文章

  1. org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 原因
  2. Bash条件判断
  3. 使用SPM创建新组件
  4. Inno Setup怎样创建一个自动申请管理员身份运行的快捷
  5. windows下安装boost库
  6. [zz] ROC曲线
  7. 1.系统生命开发周期(SDLC)
  8. MYSQL 锁机制 分析
  9. 通病问题:错误如for architecture arm64: &quot;_OBJC_CLASS_$_CBUUID&quot;, referenced from: objc-class-ref in BluetoothLinkOperation.o 类似的问题解决办法
  10. PLSQL Developer图形化窗口创建数据库全过程