欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能

 更新時(shí)間:2017年09月05日 10:19:22   作者:兩面一湯  
FileReader 對(duì)象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件內(nèi)容,使用 File或 Blob對(duì)象指定要讀取的文件或數(shù)據(jù)。下面通過(guò)本文給大家分享JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能,需要的朋友參考下吧

FileReader 對(duì)象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶計(jì)算機(jī)上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用 File或 Blob對(duì)象指定要讀取的文件或數(shù)據(jù)。

1、FileReader接口的方法

FileReader接口有4個(gè)方法,其中3個(gè)用來(lái)讀取文件,另一個(gè)用來(lái)中斷讀取。無(wú)論讀取成功或失敗,方法并不會(huì)返回讀取結(jié)果,這一結(jié)果存儲(chǔ)在result屬性中。

2、FileReader接口事件

FileReader接口包含了一套完整的事件模型,用于捕獲讀取文件時(shí)的狀態(tài)。

重點(diǎn)介紹下:readAsDataURL

開(kāi)始讀取指定的Blob對(duì)象或File對(duì)象中的內(nèi)容. 當(dāng)讀取操作完成時(shí),readyState屬性的值會(huì)成為DONE,如果設(shè)置了onloadend事件處理程序,則調(diào)用之.同時(shí),result屬性中將包含一個(gè)data: URL格式的字符串以表示所讀取文件的內(nèi)容這個(gè)方法很有用,

比如,可以實(shí)現(xiàn)圖片的本地預(yù)覽

IE10以下的版本不支持FileReader()構(gòu)造函數(shù).不過(guò)可以利用濾鏡來(lái)兼容舊版本的IE:兼容IE的圖片本地預(yù)覽.

<!doctype html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Image preview example</title>
<script type="text/javascript">
var loadImageFile = (function () {
  if (window.FileReader) {
    var  oPreviewImg = null, oFReader = new window.FileReader(),
      rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;
    oFReader.onload = function (oFREvent) {
      if (!oPreviewImg) {
        var newPreview = document.getElementById("imagePreview");
        oPreviewImg = new Image();
        oPreviewImg.style.width = (newPreview.offsetWidth).toString() + "px";
        oPreviewImg.style.height = (newPreview.offsetHeight).toString() + "px";
        newPreview.appendChild(oPreviewImg);
      }
      oPreviewImg.src = oFREvent.target.result;
    };
    return function () {
      var aFiles = document.getElementById("imageInput").files;
      if (aFiles.length === 0) { return; }
      if (!rFilter.test(aFiles[0].type)) { alert("You must select a valid image file!"); return; }
      oFReader.readAsDataURL(aFiles[0]);
    }
  }
  if (navigator.appName === "Microsoft Internet Explorer") {
    return function () {
      document.getElementById("imagePreview").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = document.getElementById("imageInput").value;
    }
  }
})();
</script>
<style type="text/css">
#imagePreview {
  width: 160px;
  height: 120px;
  float: right;
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
}
</style>
</head>
<body>
<div id="imagePreview"></div>
<form name="uploadForm">
<p><input id="imageInput" type="file" name="myPhoto" onchange="loadImageFile();" /><br />
<input type="submit" value="Send" /></p>
</form>
</body>
</html>

看看在IE7下的效果

谷歌的效果

很好,都很完美。具體參考鏈接:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader

總結(jié)

以上所述是小編給大家介紹的JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 擴(kuò)展javascript的Date方法實(shí)現(xiàn)代碼(prototype)

    擴(kuò)展javascript的Date方法實(shí)現(xiàn)代碼(prototype)

    長(zhǎng)期從事C#的開(kāi)發(fā),被C#影響著我的思維。C#中DateTime的操作就很方便,于是就參考它對(duì)js的Date做了擴(kuò)展。
    2010-11-11
  • 超強(qiáng)推薦的js編程中的簡(jiǎn)潔寫法收集

    超強(qiáng)推薦的js編程中的簡(jiǎn)潔寫法收集

    超強(qiáng)推薦的js編程中的簡(jiǎn)潔寫法收集...
    2007-08-08
  • 靈活使用數(shù)組制作圖片切換js實(shí)現(xiàn)

    靈活使用數(shù)組制作圖片切換js實(shí)現(xiàn)

    這篇文章主要介紹了靈活使用數(shù)組制作圖片切換效果,js實(shí)現(xiàn)圖片切換特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • JavaScript中合并Object的三種基本方法小結(jié)

    JavaScript中合并Object的三種基本方法小結(jié)

    在開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到合并對(duì)象的需求,今天我們就來(lái)了解一下合并對(duì)象的幾種基本方法,文中通過(guò)代碼示例介紹的非常詳細(xì),感興趣的小伙伴跟著小編一起來(lái)看看吧
    2023-08-08
  • JS前端廣告攔截實(shí)現(xiàn)原理解析

    JS前端廣告攔截實(shí)現(xiàn)原理解析

    這篇文章主要介紹了JS前端廣告攔截實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • JavaScript中的console.assert()函數(shù)介紹

    JavaScript中的console.assert()函數(shù)介紹

    這篇文章主要介紹了JavaScript中的console.assert()函數(shù)介紹,assert()函數(shù)是一個(gè)調(diào)試中經(jīng)常使用的斷言工具函數(shù),需要的朋友可以參考下
    2014-12-12
  • 小程序與內(nèi)嵌webview的數(shù)據(jù)交互方案詳解

    小程序與內(nèi)嵌webview的數(shù)據(jù)交互方案詳解

    這篇文章主要介紹了小程序與內(nèi)嵌webview的數(shù)據(jù)交互方案,為實(shí)現(xiàn)H5頁(yè)面到小程序的無(wú)縫切換,技術(shù)方案包含使用webview交互,特別是低碼C端表單頁(yè)面的處理,需要的朋友可以參考下
    2024-09-09
  • 淺談Javascript中的對(duì)象和繼承

    淺談Javascript中的對(duì)象和繼承

    這篇文章主要介紹了Javascript中的對(duì)象和繼承,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • js正確獲取元素樣式詳解

    js正確獲取元素樣式詳解

    當(dāng)js獲取這三種樣式時(shí),style只能獲取內(nèi)聯(lián)樣式,獲取不到外部樣式和嵌入式樣式,因此要用currentStyle屬性,而currentStyle在FF下不支持
    2009-08-08
  • 鼠標(biāo)左鍵單擊沖突的問(wèn)題解決方法(防止冒泡)

    鼠標(biāo)左鍵單擊沖突的問(wèn)題解決方法(防止冒泡)

    一個(gè)頁(yè)面實(shí)現(xiàn)了兩種右鍵菜單,當(dāng)鼠標(biāo)左鍵單擊空白處時(shí),右鍵菜單并不隱藏,下面為大家解決鼠標(biāo)左鍵單擊沖突的問(wèn)題
    2014-05-05

最新評(píng)論