JS實現未上傳圖片預覽

function checkType(upload){
    var image = document.getElementById(upload).value;
    var extStart = image.lastIndexOf(".");
    var ext = image.substring(extStart, image.length).toUpperCase();
    if ( ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
        alert("圖片限於png,gif,jpeg,jpg格式!");
        return false;
    }
    return true;
}
function setImagePreview(upload,preview) {
    if(checkType(upload)){
        showTips('result','圖片預覽:',0);
        var docObj=document.getElementById(upload);
        var imgObjPreview=document.getElementById(preview);
        if(docObj.files &&    docObj.files[0]){
            //火狐下,直接設img屬性
            imgObjPreview.style.width = '160px';
            imgObjPreview.style.height = '120px';
            try{
                imgObjPreview.src = docObj.files[0].getAsDataURL();
            }catch(e){
                //火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式
                imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
            }
  
  
        }else{
            //IE下,使用濾鏡
            docObj.select();
            var imgSrc = document.selection.createRange().text;
            var localImagId = document.getElementById("localImag");
            //必須設置初始大小
            localImagId.style.width = "160px";
            localImagId.style.height = "120px";
            //圖片異常的捕捉,防止用戶修改後綴來僞造圖片
            try{
                localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
            }catch(e){
                alert("您上傳的圖片格式不正確,請重新選擇!");
                return false;
            }
            imgObjPreview.style.display = 'block';
            document.selection.empty();
        }
        return true;
    }
  
}

 摘自:http://www.oschina.net/code/snippet_187608_34433

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章