js圖片上傳前預(yù)覽功能(兼容所有瀏覽器)
網(wǎng)上找到的一份文件上傳前預(yù)覽的代碼,轉(zhuǎn)自JavaScript 圖片的上傳前預(yù)覽(兼容所有瀏覽器)
<!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>
實(shí)現(xiàn)要點(diǎn)
● 對于 Chrome、Firefox、IE10 使用 FileReader 來實(shí)現(xiàn)。
● 對于 IE6~9 使用濾鏡 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 來實(shí)現(xiàn)。
測試了一下IE8+都沒有問題。但是IE7下file.value被瀏覽器去掉了文件路徑分割線從而顯示不出來
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS實(shí)現(xiàn)上傳圖片的三種方法并實(shí)現(xiàn)預(yù)覽圖片功能
- js實(shí)現(xiàn)圖片上傳并預(yù)覽功能
- js實(shí)現(xiàn)上傳圖片預(yù)覽的方法
- 上傳圖片預(yù)覽JS腳本 Input file圖片預(yù)覽的實(shí)現(xiàn)示例
- js實(shí)現(xiàn)上傳圖片之上傳前預(yù)覽圖片
- Javascript圖片上傳前的本地預(yù)覽實(shí)例
- js實(shí)現(xiàn)圖片上傳預(yù)覽原理分析
- js 上傳圖片預(yù)覽問題
- JS上傳前預(yù)覽圖片實(shí)例
- 如何利用原生JS實(shí)現(xiàn)圖片預(yù)覽加上傳(前后端交互)
相關(guān)文章
TextArea設(shè)置MaxLength屬性最大輸入值的js代碼
TextArea中限制最大輸入長度,實(shí)現(xiàn)的方法種種,我們不在一一介紹,今天本文推薦一種簡單實(shí)用的方法,需要的朋友可以參考下2012-12-12
JavaScript類型相關(guān)的常用操作總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript類型相關(guān)的常用操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
創(chuàng)建iframe對象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會造成load事件的handler執(zhí)行兩次。2011-03-03

