網上找到的一份文件上傳前預覽的代碼,轉自JavaScript 圖片的上傳前預覽(兼容所有浏覽器)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <style type="text/css"> #preview, .img, img { width: 200px; height: 200px; } #preview { border: 1px solid #000; } </style> </head> <body> <div id="preview"></div> <input type="file" onchange="preview(this)" /> <script type="text/javascript"> function preview(file) { var prevDiv = document.getElementById('preview'); if (file.files && file.files[0]) { var reader = new FileReader(); reader.onload = function(evt) { prevDiv.innerHTML = '<img src="' + evt.target.result + '" />'; } reader.readAsDataURL(file.files[0]); } else { prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>'; } } </script> </body> </html>
實現要點
● 對於 Chrome、Firefox、IE10 使用 FileReader 來實現。
● 對於 IE6~9 使用濾鏡 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 來實現。
測試了一下IE8+都沒有問題。但是IE7下file.value被浏覽器去掉了文件路徑分割線從而顯示不出來
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。