下面这段代码是从网上找的html文件
想实现 在html中选择上传图片可以预览 
可是在我的项目中就无法显示预览 我的环境是tomcat7.0.23\myeclipse10\jdk1.6
不知道什么原因 选择完文件后 就一直加载中 
还有就是在我的项目中运行时会报javascript的错误 就是下面红色的return document.selection.createRange().text;没办法我就把它注视了   不知道是不是这个影响的 不过我在单独的html文件下也注视了 运行没问题啊希望高人能帮帮我   非常困扰!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var picPath;
var image;
var box;//只要调用这个方法就可以了,参数(this,这里为显示的位置)
function LoadImage(ele, show_pos_obj) {
picPath = GetImgPath(ele);
if (picPath != "" && picPath != null) {
image = new Image();
image.src = picPath;
box = GetObj(show_pos_obj);
box.innerHTML = "<span style='color:gray;font-size:11px'>加载中...</span>";
setTimeout(ImgView, 1000);
} else {
return false;
}
}//呈现图片视图
function ImgView() {
if (image.width == 0 || image.height == 0) {
setTimeout(ImgView, 1000);
} else {
if (box != null) {
var imgWidth = (image.width >= box.offsetWidth) ? box.offsetWidth : image.width;
var imgHeight = (image.height >= box.offsetHeight) ? box.offsetHeight : image.height;
var alt = "图片实际尺寸为:" + image.width + "&nbsp;*&nbsp;" + image.height;
box.innerHTML = "<img width='" + imgWidth + "' height='" + imgHeight + "' id='apic' src='" + picPath + "' onload='DrawImage(this," + box.offsetWidth + "," + box.offsetHeight + ")' title=" + alt + " />";
}
}
}//获取IE,FF下图片的路径
function GetImgPath(obj) {
if (ValidateImgUrl(obj)) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select();
//return document.selection.createRange().text;}
else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}//图片格式验证
function ValidateImgUrl(obj) {
var url = GetObj(obj).value;
var filename = url.substring(url.lastIndexOf(".") + 1).toLowerCase();
if (filename != "jpg" && filename != "gif" && filename != "png" && filename != "bmp" && filename != "jpeg") {
alert("图片格式有误,请选择jpg|gif|png|bmp格式的图片上传"); return false;
}
if (url.length > 0) {
//return document.getElementById(id).value;
return true;
}
else { return false; }
}function GetObj(id) {
return "string" == typeof id ? document.getElementById(id) : id;
}//图片按比例缩放
var flag = false;
function DrawImage(ImgD, iwidth, iheight) {
//参数(图片,允许的宽度,允许的高度)
var image = new Image();
image.src = ImgD.src;
if (image.width > 0 && image.height > 0) {
flag = true;
if (image.width / image.height >= iwidth / iheight) {
if (image.width > iwidth) {
ImgD.width = iwidth;
ImgD.height = (image.height * iwidth) / image.width;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
} else {
if (image.height > iheight) {
ImgD.height = iheight;
ImgD.width = (image.width * iheight) / image.height;
} else {
ImgD.width = image.width;
ImgD.height = image.height;
}
}
}
}
</script>
</head>
<body>
<input type="file" name="pic" id="pic" onchange='LoadImage(this,"box")' />
<div id='box' style="width: 300px; height: 300px">
</div>
</body>
</html>