java 根据预览图片上传_JavaSctit 利用FileReader和滤镜上传图片预览功能
filereader 對象允許web應(yīng)用程序異步讀取存儲在用戶計算機上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用 file或 blob對象指定要讀取的文件或數(shù)據(jù)。
1、filereader接口的方法
filereader接口有4個方法,其中3個用來讀取文件,另一個用來中斷讀取。無論讀取成功或失敗,方法并不會返回讀取結(jié)果,這一結(jié)果存儲在result屬性中。
2、filereader接口事件
filereader接口包含了一套完整的事件模型,用于捕獲讀取文件時的狀態(tài)。
重點介紹下:readasdataurl
開始讀取指定的blob對象或file對象中的內(nèi)容. 當(dāng)讀取操作完成時,readystate屬性的值會成為done,如果設(shè)置了onloadend事件處理程序,則調(diào)用之.同時,result屬性中將包含一個data: url格式的字符串以表示所讀取文件的內(nèi)容這個方法很有用,
比如,可以實現(xiàn)圖片的本地預(yù)覽
ie10以下的版本不支持filereader()構(gòu)造函數(shù).不過可以利用濾鏡來兼容舊版本的ie:兼容ie的圖片本地預(yù)覽.
image preview examplevar 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;
}
}
})();
#imagepreview {
width: 160px;
height: 120px;
float: right;
filter: progid:dximagetransform.microsoft.alphaimageloader(sizingmethod=scale);
}
看看在ie7下的效果
谷歌的效果
總結(jié)
以上所述是小編給大家介紹的javasctit 利用filereader和濾鏡上傳圖片預(yù)覽功能,希望對大家有所幫助
希望與廣大網(wǎng)友互動??
點此進行留言吧!
總結(jié)
以上是生活随笔為你收集整理的java 根据预览图片上传_JavaSctit 利用FileReader和滤镜上传图片预览功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: magento mysql4-insta
- 下一篇: Java 中pdf部分内容加边线_Jav