js实现图片上传及预览---------------------->>兼容ie6-8 火狐以及谷歌
<head runat="server"> <title>图片上传及预览(兼容ie6/7/8 firefox/chrome)</title> <script src="../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> </head> <body> <form id="form1" runat="server"> <div> <div> <asp:FileUpload ID="fileAppImg" runat="server" Style="font-size: 13px;" onchange="previewImage(this,'preview','appImg')" /></div> <div id="preview" style="margin-top: 10px;"> <img id="appImg" src="../SourceImg/ContentPage/AccountAuth/zjyl.jpg" alt="" style="margin-left: 1px; height: 214px; width: 160px;" /> </div> </div> </form> </body> </html> <%--图片上传预览--%> <script type="text/javascript"> //图片上传预览 function previewImage(file, div, img) { MAXWIDTH = 160; MAXHEIGHT = 214; var div = document.getElementById(div); if (file.files && file.files[0]) { //验证图片大小 var imgType = /\.[^\.]+$/.exec(file.value); if (imgType != ".jpg" && imgType != ".png") { alert("仅支持jpg和png两种格式的图片"); file.value = ""; $("#txtShowIcon").val("未选中文件"); return; } div.innerHTML = "<img id='" + img + "'>"; var img = document.getElementById(img); 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 { //验证图片大小 var imgType = /\.[^\.]+$/.exec(file.value); if (imgType != ".jpg" && imgType != ".png") { alert("仅支持jpg和png两种格式的图片"); return; } var filePath = file.value; //IE浏览器 var sFilter = 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="'; file.select(); var src = document.selection.createRange().text; div.innerHTML = '<img id="' + img + '">'; var img = document.getElementById(img); //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-top:" + rect.top + "px;margin-left:" + rect.left + "px;" + sFilter + src + "\"'></div>"; } } function clacImgZoomParam(maxWidth, maxHeight, width, height) { var param = { top: 0, left: 0, width: width, height: height }; param.width = maxWidth; param.height = maxHeight; param.left = 0; param.top = 0; return param; } </script>