文章来源:http://www.cnblogs.com/hello-tl/p/7661535.html

1、HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
# css代码
</style>
</head>
<body>
<div class="box">
<div class="imgDiv">
<h2>图片显示</h2>
<div class="img">
<img src="">
</div>
</div>
<div class="Base64Div">
<h2>base64显示</h2>
<textarea></textarea>
</div>
</div>
<div>
<input type="file" onchange="inputFileBase64();" id="inputFileImg">
<a href="javascript:;">点击上传图片</a>
</div>
<script>
# javascript代码
</script>
</body>
</html>

2、Css代码

*{
padding:0;margin:0;
}
html,body{
height:100%;
width:100%;
}
.box{
height:calc(100% - 100px);
width:100%;
}
.imgDiv{
width:50%;
float:left;
height:100%;
width:50%;
min-width: 50%;
max-width: 50%;
min-height: 100%;
max-height: 100%;
}
.Base64Div{
width:50%;
float:right;
height:100%;
width:50%;
min-width: 50%;
max-width: 50%;
min-height: 100%;
max-height: 100%;
}
h2{
margin: 0 auto;
text-align:center;
display:block;
line-height:50px;
}
textarea{
width:calc(100% - 10px);
min-width:calc(100% - 10px);
max-width:calc(100% - 10px);
height:calc(100% - 50px);
max-height:calc(100% - 50px);
min-height:calc(100% - 50px);
margin: 0 auto;
display:block;
}
.img{
display:block;
width:calc(100% - 10px);
min-width:calc(100% - 10px);
max-width:calc(100% - 10px);
height:calc(100% - 50px);
max-height:calc(100% - 50px);
min-height:calc(100% - 50px);
margin: 0 auto;
border:1px red solid;
}
img{
display: block;
margin: 0 auto;
}
#inputFileImg{
display:none;
}
a{
display: block;
text-align: center;
line-height: 100px;
}

3、JavaScript代码

document.getElementsByTagName('a')[0].onclick = function(){
document.getElementById('inputFileImg').click();
} //当input发生改变时调用
function inputFileBase64(){
var call = upload_file('inputFileImg',['.png','.jpg']);
} /**
* 返回input type[file]框 属性
* 返回格式{base64,width,height}
* @param input_img_id input框id
* @param format 支持格式json对象形势['.png','.jpg']
*/
function upload_file(input_img_id,format){
if(document.getElementById(input_img_id).value != ''){
var fileExt=document.getElementById(input_img_id).value.substr(document.getElementById(input_img_id).value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
var data = {'code' : false,'message':'转码失败,不支持该后缀名'};
for(var i = 0; i < format.length; i++){
//循环判断是否合法
if(fileExt == format[i]){
data = {'code' : true};
}
}
if(!data['code']){
document.getElementById(input_img_id).value='';
return data;
}
var file = document.getElementById(input_img_id);
var data = createReader(file.files[0]);
}
} /**
* 上一个方法调用
* 返回图片信息 {code,base_64,width,height}
* @param file
*/
function createReader(file){
var reader = new FileReader;
reader.onload = function (evt){
var image = new Image();
image.onload = function(){
data = {
'code' : true,
'base_64' : evt.target.result, //base64格式
'width' : this.width, //图片宽度
'height' : this.height, //图片高度
'message' : '转码成功'
}
//写自己的代码
document.getElementsByTagName('img')[0].src=data.base_64;
document.getElementsByTagName('textarea')[0].innerHTML=data.base_64;
//写自己的代码结束
};
image.src = evt.target.result;
};
reader.readAsDataURL(file);
}

4、显示效果

文章来源:http://www.cnblogs.com/hello-tl/p/7661535.html

最新文章

  1. 微信开发包注意jar版本:
  2. dynamic 用法
  3. Linux 之集群 LVS
  4. extjs学习之Ext.selection.CheckboxModel
  5. C语言 malloc()与sizeof运算的盲点
  6. Python2.6-原理之类和oop(下)
  7. 在ArcGIS空间数据库中增加点数据的方法
  8. install keepalived on RedHat/CentOS to provide IP failover for web cluster
  9. 工作中简单又实用的vim配置
  10. Django 数据库查询优化
  11. Entity Framewor 学习笔记 (Enum)
  12. 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
  13. HBuilder mui引导页制作
  14. 两个App之间调起通信
  15. 认识Charles-proxy 抓包工具
  16. 【51nod】1239 欧拉函数之和 杜教筛
  17. Linux下Nginx安装
  18. 详解C#委托和事件(二)
  19. 【C】——可变参数
  20. #Go# 常用类型转换

热门文章

  1. 无法生成DH密钥对Could not generate DH keypair
  2. 离散化+线段树/二分查找/尺取法 HDOJ 4325 Flowers
  3. 题解报告:hdu 1059 Dividing(多重背包、多重部分和问题)
  4. IOS - PDF合并 - 转
  5. Suricata是什么?
  6. Anaconda(miniconda)安装及使用--转
  7. 死磕 java集合之LinkedList源码分析
  8. 在Bootstrap中得模态框(modal)中下拉不能显示得问题
  9. PHP到浏览器的缓存机制
  10. PHP流程控制考察点