js实现上传图片实时预览,兼容chrome IE firefox多浏览器
来源:互联网 发布:hse培训矩阵课件 编辑:程序博客网 时间:2024/05/19 16:47
直接上代码吧,一张图、多张图,都比较适用
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片上传本地预览</title> <style type="text/css">.imgDiv{width:260px;height:190px;border:1px solid #000;overflow:hidden;}.imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}</style><script type="text/javascript"> //图片上传预览 IE是用了滤镜。 function previewImage(file,imgDiv,imgId){ //file表单,图片显示div,图片id var MAXWIDTH = 260; var MAXHEIGHT = 180; var div = document.getElementById(imgDiv); if (file.files && file.files[0]) { div.innerHTML ='<img class="imghead" id='+imgId+'>'; var img = document.getElementById(imgId); img.onload = function(){ var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); img.width = rect.width; img.height = rect.height; img.style.marginLeft = rect.left+'px'; img.style.marginTop = rect.top+'px'; } var reader = new FileReader(); reader.onload = function(evt){img.src = evt.target.result;} reader.readAsDataURL(file.files[0]); }else{ //兼容IE var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="'; file.select(); var src = document.selection.createRange().text; div.innerHTML = '<img class="imghead" id='+imgId+'>'; var img = document.getElementById(imgId); img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src; var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height); div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-left:"+rect.left+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>"; } } function clacImgZoomParam( maxWidth, maxHeight, width, height ){ var param = {top:0, left:0, width:width, height:height}; if( width>maxWidth || height>maxHeight ) { rateWidth = width / maxWidth; rateHeight = height / maxHeight; if( rateWidth > rateHeight ){ param.width = maxWidth; param.height = Math.round(height / rateWidth); }else{ param.width = Math.round(width / rateHeight); param.height = maxHeight; } } param.left = Math.round((maxWidth - param.width) / 2); param.top = Math.round((maxHeight - param.height) / 2); return param; }</script> </head> <body><div class="imgDiv" id="d0"></div><input type="file" onchange="previewImage(this,'d0','img0')" /> <div class="imgDiv" id="d1"></div><input type="file" onchange="previewImage(this,'d1','img1')" /> <div class="imgDiv" id="d2"></div><input type="file" onchange="previewImage(this,'d2','img2')" /><div class="imgDiv" id="d3"></div><input type="file" onchange="previewImage(this,'d3','img3')" /></body> </html>
1 0
- js实现上传图片实时预览,兼容chrome IE firefox多浏览器
- js上传图片预览功能代码,兼容IE,FireFox,Chrome浏览器
- 本地图片上传预览(兼容ie firefox ,chrome等主流浏览器
- 兼容所有主流浏览器的图片上传本地预览(IE\FIREFOX\CHROME)
- 兼容所有主流浏览器的图片上传本地预览(IE\FIREFOX\CHROME)
- js 上传图片预览(Chrome IE ,Firefox,Opera)
- 多图片上传+图片预览,兼容所有浏览器 IE5/IE6/IE7/IE8/IE9/Chrome/Safari/Firefox/Opera/
- 多图片上传+图片预览,兼容所有浏览器 IE5/IE6/IE7/IE8/IE9/Chrome/Safari/Firefox/Opera/
- 多图片上传+图片预览,兼容所有浏览器 IE5/IE6/IE7/IE8/IE9/Chrome/Safari/Firefox/Opera/
- 兼容IE、谷歌Chrome、火狐Firefox的图片上传预览功能
- 兼容IE、谷歌Chrome、火狐Firefox的图片上传预览功能
- js上传图片预览(For IE ,firefox)
- js图片上传预览兼容IE
- input file 实现上传预览图片,以base64上传,兼容IE8+,firefox,chrome
- 兼容IE、新版Chrome、Firefox,实现本地图片等比例缩放预览
- 兼容IE、新版Chrome、Firefox,实现本地图片等比例缩放预览
- 兼容IE、新版Chrome、Firefox,实现本地图片等比例缩放预览
- 兼容最新firefox、chrome和IE的javascript图片预览实现代码
- Android WebView Memory Leak WebView内存泄漏
- groovy语法基础
- VisualStudio2010配置OpenCV的一种一劳永逸的方法
- Android 异步通信原理机制-- handler
- 【Mapreduce】以逗号为分隔符的WordCount词频统计
- js实现上传图片实时预览,兼容chrome IE firefox多浏览器
- iGia:smart home security kit
- 使用Quartz2.1.6+Spring3.0实现任务调度简单示例
- Swift方法的简写
- quartz 使用笔记
- LintCode :背包问题
- POJ 1470Closest Common Ancestors(LCA)
- 如何在低版本中适用Android 5.0设计Material风格
- ios开发中,xib加载view,loadNibNamed方法奔溃原因之一