JavaScript使用FileReader實現(xiàn)圖片上傳預(yù)覽效果
FileReader是HTML5 File API的一部分。它實現(xiàn)了一種異步文件讀取機(jī)制??梢园袴ileReader想象為XMLHttpRequest,區(qū)別只是它讀取的是文件系統(tǒng),而不是遠(yuǎn)程服務(wù)器。為了讀取文件中的數(shù)據(jù),F(xiàn)ileReader提供了如下幾個方法。
- readAsText(file,encoding):以純文本的方式讀取文件,將讀取到的文件保存到result屬性中。
- readAsDataURL(file):讀取文件并將文件以數(shù)據(jù)URI的形式保存在result屬性中。
- readAsBinaryString(file):讀取文件并將一個字符串保存在result屬性中,字符串中的每個字符表示一個字節(jié)。
- readAsArrayBuffer(file):讀取文件并將一個包含文件內(nèi)容的ArrayBuffer保存在result屬性中。
- multiple 屬性表示支持多張圖片
<div id="wrapper"> <input id="fileUpload" type="file" multiple /><br /> <div id="image-holder"> </div> </div>
$("#fileUpload").on('change', function () {
//獲取上傳文件的數(shù)量
var countFiles = $(this)[0].files.length;
var imgPath = $(this)[0].value;
var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
var image_holder = $("#image-holder");
image_holder.empty();
if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
if (typeof (FileReader) != "undefined") {
// 循環(huán)所有要上傳的圖片
for (var i = 0; i < countFiles; i++) {
var reader = new FileReader();
reader.onload = function (e) {
$("<img />", {
"src": e.target.result,
"class": "thumb-image"
}).appendTo(image_holder);
}
image_holder.show();
reader.readAsDataURL($(this)[0].files[i]);
}
} else {
alert("你的瀏覽器不支持FileReader!");
}
} else {
alert("請選擇圖像文件。");
}
});
FileReader 可以支持 Internet Explorer 10+、FireFox,、Chrome 和Opera瀏覽器。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序模板消息限制實現(xiàn)無限制主動推送的示例代碼
這篇文章主要介紹了微信小程序模板消息限制實現(xiàn)無限制主動推送的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
JavaScript?進(jìn)階問題列表(各種js代碼段108-155)
從基礎(chǔ)到進(jìn)階,測試你有多了解?JavaScript,刷新你的知識,或者幫助你的?coding?面試!?:muscle:?:rocket:?我每周都會在這個倉庫下更新新的問題2024-11-11
淺析JavaScript中的變量復(fù)制、參數(shù)傳遞和作用域鏈
這篇文章主要介紹了淺析JavaScript中的變量復(fù)制、參數(shù)傳遞和作用域鏈 的相關(guān)資料,需要的朋友可以參考下2016-01-01
js如何判斷是否在iframe中及防止網(wǎng)頁被別站用iframe嵌套
本文主要介紹了js判斷是否在iframe中及防止網(wǎng)頁被別站用 iframe嵌套的方法。具有很好的參考價值,下面跟著小編一起來看下吧2017-01-01
Sublime?Text?3插件Minify的安裝與使用(js代碼壓縮)
這篇文章主要介紹了Sublime?Text?3插件Minify的安裝與使用(js代碼壓縮),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01

