jquery在火狐瀏覽中上傳圖片並顯示

因爲火狐瀏覽器有不少代碼沒法兼容,特別是圖片的顯示,下面我介紹一種是我親自測試過能夠實現的方法javascript

<script>java

function setImagePreview() {瀏覽器

//var ix = preview.width.value測試

//var iy = form.height.value;orm

var docObj=document.getElementById("doc");圖片

var imgObjPreview=document.getElementById("preview");ip

 

if(docObj.files && docObj.files[0]){get

//火狐下,直接設img屬性input

imgObjPreview.style.display = 'block';it

imgObjPreview.style.width = '300px';

imgObjPreview.style.height = '120px';

//火狐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 = "250px";

localImagId.style.height = "200px";

//圖片異常的捕捉,防止用戶修改後綴來僞造圖片

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 = 'none';

document.selection.empty();

}

return true;

}

</script>

 

<form name=imageform>

   <input type=file name="doc" id="doc" onchange="javascript:setImagePreview();"/>

<p><div id="localImag"><img id="preview" width=-1 height=-1 style="diplay:none" /></div></p>

</form>

相關文章
相關標籤/搜索