HTML5上传图片预览(不需通过服务器)
来源:互联网 发布:淘宝真皮女装退货率 编辑:程序博客网 时间:2024/06/14 18:02
css:
<style> #show div.item{ margin-left: 10px; float: left; width: 200px; height: 200px; overflow: hidden; } #show img{ height: auto; } </style>
html:
<div class="upload_box"> <input type="file" id="upimg" multiple> </div> <div class="show" id="show"></div>
javascript:
<script> var Upload = (function(){ var upimg = document.getElementById('upimg'); var show = document.getElementById('show'); var drag = document.getElementById('drag'); function init(){ if(!(window.FileReader && window.File && window.FileList && window.Blob)){ show.innerHTML = "您的浏览器不支持fileReader"; upimg.setAttribute('disabled', 'disabled'); return false; } handler(); } function handler(){ upimg.addEventListener("change",function(e){ var files = this.files; if(files.length){ checkFile(files); } }); // 点击放大效果 show.addEventListener('click', function(e){ var target = e.target; if(target.tagName.toUpperCase() == "IMG"){ var parent = target.parentNode; //item var big = parent.className.indexOf("big") >= 0; if(!big){ // 点击放大 parent.style.cssText = 'width:'+target.naturalWidth+'px; height:'+target.naturalHeight+'px;'; // 关键 parent.className += ' big'; }else{ // 再点击缩小 parent.style.cssText = 'width:200px; height:200px;'; // 关键 parent.className = 'item'; } } }); } function checkFile(files){ if(files.length != 0){ //获取文件并用FileReader进行读取 var html = ""; var i = 0; var funcs = function(){ if(files[i]){ var reader = new FileReader(); if(!/image\/\w+/.test(files[i].type)){ show.innerHTML = "请选择图片类型"; return false; } reader.onload = function(e){ html += '<div class="item"><img src="'+e.target.result+'" alt="img"></div>'; i++; funcs(); } reader.readAsDataURL(files[i]); }else{ show.innerHTML += html; } } funcs(); } } return{ init : init } })(); window.onload = function(){ Upload.init(); } </script>
此方法只用于IE10+浏览器
实例下载http://pan.baidu.com/s/1c2iGBZy
如果需求为只能上传一张图片则可以改为
<input type="file" id="upimg">
0 0
- HTML5上传图片预览(不需通过服务器)
- html5预览上传图片
- html5---图片上传预览
- Html5 上传图片预览
- HTML5上传图片预览
- 通过 html5 FileReader 实现上传图片预览功能
- 通过HTML5 FileReader实现上传图片预览功能
- 通过HTML5 FileReader实现上传图片预览功能
- html5 上传 图片 预览 选择
- html5预览上传图片缩略图
- html5 js 图片上传预览
- 通过ftp上传图片到服务器并支持下载预览
- 图片上传前预览 HTML5实现图片上传预览
- 上传图片预览(未上传到服务器)
- HTML5图片上传前预览(支持多选)
- HTML5上传图片前实现预览(超简单)
- 上传图片前不上传预览?
- 图片上传预览, 不需要上传服务器
- Flash设置网页最底层,兼容IE6-IE8、FF、Chrome、Opera
- velocity模板在spring中的简单配置
- C#调用存储过程的几个方法
- JAVA中堆栈和内存分配详解
- LINUX使用常用命令
- HTML5上传图片预览(不需通过服务器)
- 二叉查找树的层序遍历
- POJ 1182 食物链(带权并查集)
- C++类体系中,不能被派生类继承的
- HttpWebRequest介绍
- 使用Jenkins自动化构建Android和iOS应用
- phpems导出成绩增加自定义字段
- jQuery hover延时触发
- android基础(四)