日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS浏览本地图片

發布時間:2025/4/5 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS浏览本地图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 <html> 2 <head> 3 <title>瀏覽本地圖片</title> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 5 </head> 6 <body> 7 <p> 8 <style type="text/css"> 9 #kk{ 10 width:1000px; 11 height:300px; 12 overflow: hidden; 13 } 14 .preview_wrapper{ 15 width:176px; 16 height:176px; 17 background-color:#CCC; 18 overflow: hidden; 19 } 20 .preview_fake{ /* 該對象用于在IE下顯示預覽圖片 */ 21 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale); 22 width:176px; 23 overflow: hidden; 24 } 25 #preview_size_fake{ /* 該對象只用來在IE下獲得圖片的原始尺寸,無其它用途 */ 26 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); 27 width:0px; 28 visibility:hidden; 29 overflow: hidden; 30 } 31 .preview{ /* 該對象用于在FF下顯示預覽圖片 */ 32 width:176px; 33 height:176px; 34 overflow: hidden; 35 } 36 .txtDiv{ 37 text-align:center; 38 color:blue; 39 } 40 </style> 41 42 <script type="text/javascript"> 43 44 function onUploadImgChange(sender,showImgId,showImgDivid,maxSize){ 45 if( !sender.value.match( /.jpg|.gif|.png|.bmp/i ) ){ 46 alert('圖片格式無效!'); 47 return false; 48 } 49 var browserVersion = window.navigator.userAgent.toUpperCase(); //瀏覽器版本信息 50 51 var objPreview = document.getElementById(showImgId); 52 var objPreviewFake = document.getElementById(showImgDivid); 53 var objPreviewSizeFake = document.getElementById('preview_size_fake'); 54 if( sender.files && sender.files[0] ){ 55 objPreview.style.display = 'block'; 56 objPreview.style.width = 'auto'; 57 objPreview.style.height = 'auto'; 58 // Firefox 因安全性問題已無法直接通過 input[file].value 獲取完整的文件路徑 59 //objPreview.src = sender.files[0].getAsDataURL(); 60 if (browserVersion.indexOf("FIREFOX") > -1) { //火狐瀏覽器 61 var firefoxVersion = parseFloat(window.navigator.userAgent.toLowerCase().match(/firefox\/([\d.]+)/)[1]); 62 if (firefoxVersion < 7) {//firefox7.0以下版本 63 objPreview.src = sender.files[0].getAsDataURL(); 64 } else {//火狐7.0以上版本 65 objPreview.src = window.URL.createObjectURL(sender.files[0]); 66 } 67 }else if(typeof FileReader !== "undefined"){ 68 //兼容chrome、火狐等,HTML5獲取路徑 69 var reader = new FileReader(); 70 reader.onload = function(e){ 71 objPreview.setAttribute("src",e.target.result); 72 } 73 reader.readAsDataURL(sender.files[0]); 74 }else if(browserVersion.indexOf("SAFARI")>-1){ 75 alert("暫時不支持Safari瀏覽器!"); 76 }else{ 77 objPreview.src = sender.files[0].getAsDataURL(); 78 } 79 }else if( objPreviewFake.filters ){ 80 // IE7,IE8 在設置本地圖片地址為 img.src 時出現莫名其妙的后果 81 //(相同環境有時能顯示,有時不顯示),因此只能用濾鏡來解決 82 // IE7, IE8因安全性問題已無法直接通過 input[file].value 獲取完整的文件路徑 83 sender.select(); 84 sender.blur();//IE9安全機制,必須失去焦點才能取得值 85 var imgSrc = document.selection.createRange().text; 86 objPreviewFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc; 87 objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc; 88 autoSizePreview( objPreviewFake,objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight ); 89 objPreview.style.display = 'none'; 90 } 91 } 92 93 function onPreviewLoad(sender){ 94 autoSizePreview( sender, sender.offsetWidth, sender.offsetHeight ); 95 } 96 //設置圖片大小 97 function autoSizePreview( objPre, originalWidth, originalHeight ){ 98 var zoomParam = ImgZoomParam( 176, 176, originalWidth, originalHeight ); 99 objPre.style.width = zoomParam.width + 'px'; 100 objPre.style.height = zoomParam.height + 'px'; 101 objPre.style.marginTop = zoomParam.top + 'px'; 102 objPre.style.marginLeft = zoomParam.left + 'px'; 103 } 104 //按比例放縮 105 function clacImgZoomParam( maxWidth, maxHeight, width, height ){ 106 var param = { width:width, height:height, top:0, left:0 }; 107 if( width>maxWidth || height>maxHeight ){ 108 rateWidth = width / maxWidth; 109 rateHeight = height / maxHeight; 110 if( rateWidth > rateHeight ){ 111 param.width = maxWidth; 112 param.height = height / rateWidth; 113 }else{ 114 param.width = width / rateHeight; 115 param.height = maxHeight; 116 } 117 } 118 param.left = (maxWidth - param.width) / 2; 119 param.top = (maxHeight - param.height) / 2; 120 return param; 121 } 122 //鋪滿最大值 123 function ImgZoomParam( maxWidth, maxHeight, width, height ){ 124 var param = { width:width, height:height, top:0, left:0 }; 125 param.width = maxWidth; 126 param.height = maxHeight; 127 param.left = 1; 128 param.top = 1; 129 return param; 130 } 131 </script> 132 圖片一:<input type="file" id="img_01" size="28" onchange="onUploadImgChange(this,'preview','preview_fake',100)"/><br/> 133 圖片二:<input type="file" id="img_02" size="28" onchange="onUploadImgChange(this,'preview2','preview_fake2',100)"/><br/> 134 圖片三:<input type="file" id="img_03" size="28" onchange="onUploadImgChange(this,'preview3','preview_fake3',100)"/><br/> 135 136 <!-- <input name="localfile" type="file" id="img_01" size="28" οnchange="onUploadImgChange(this,'preview','preview_fake',100)"/> 以下是預覽圖片用的--> 137 <div id="kk"> 138 <table id="imgTb" > 139 <tr> 140 <td> 141 <div class="preview_wrapper"> 142 <div id="preview_fake" class="preview_fake"> 143 <img id="preview" src="" class="preview" onload="onPreviewLoad(this)"/> 144 </div> 145 </div> 146 <div class="txtDiv">圖片一</div> 147 </td> 148 <td> 149 <div class="preview_wrapper"> 150 <div id="preview_fake2" class="preview_fake"> 151 <img id="preview2" src="" class="preview" onload="onPreviewLoad(this)"/> 152 </div> 153 </div> 154 <div class="txtDiv">圖片二</div> 155 </td> 156 <td> 157 <div class="preview_wrapper"> 158 <div id="preview_fake3" class="preview_fake"> 159 <img id="preview3" src="" class="preview" onload="onPreviewLoad(this)"/> 160 </div> 161 </div> 162 <div class="txtDiv">圖片三</div> 163 </td> 164 </tr> 165 </table> 166 <img id="preview_size_fake" /> 167 </div> 168 </p> 169 </body> 170 </html>

兼容瀏覽器IE6,IE7,IE8,IE9,Firefox,chrome,360等瀏覽器

效果如下:

轉載于:https://www.cnblogs.com/loklook123/archive/2013/03/19/2968477.html

總結

以上是生活随笔為你收集整理的JS浏览本地图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。