1. 程式人生 > >JSP頁面,實現上傳圖片即時顯示效果

JSP頁面,實現上傳圖片即時顯示效果

<script type="text/javascript">
	function setImagePreview() {
		var docObj = document.getElementById("doc");
		var imgObjPreview = document.getElementById("preview");
		if (docObj.files && docObj.files[0]) {
			//火狐下,直接設img屬性
			imgObjPreview.style.display = 'block';
			imgObjPreview.style.width = '300px';
			imgObjPreview.style.height = '120px';
			//imgObjPreview.src = docObj.files[0].getAsDataURL();
			//火狐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>
<body>
	<input type=file name="doc" id="doc"
		onchange="javascript:setImagePreview();">
	<div id="localImag">
		<img id="preview" width=-1 height=-1 style="diplay:none" />
	</div>
</body>

本文程式碼來源:http://www.mb5u.com/biancheng/jsp/jsp_95862.html  轉載請註明出處。