如题,本人用structs2写一个上传文件的页面, 已可以成功上传文件。现在的问题是当用户点击浏览选择文件后(当然该文件只允许为图片文件),如何在同一个页面显示图片呢?
解决方案 »
- WebNoteEditor 在线编辑器 推广一下
- 关于EL表达式,能不能直接把值传到EL表达式的对象中?
- 关于struts2标签的两个问题
- 如何确定互联网上的唯一一台计算机,(不通过IP和MAC地址,机器重启也可以获取.)
- org.apache.jasper.JasperException报错
- 如何取出查询数据库返回的结果集???在线等
- 奇怪的乱码!谁来帮帮忙?在线等!!
- jsp中有没有类似asp中response.end的方法
- 在线等待:如何在struts中取得multiple select中所有的值。
- 为什么不要应届毕业生
- 如何让input type="file"可以多选?
- JDBC_读写生僻汉字_SYBASE
.../tomcatapp/appName/WEB-INF/
则将图片存放路径为:
.../tomcatapp/appName/images/xxx.jpeg
其中.../tomcatapp 表示tomcat根目录。
appName表示,当前WEB应用的名称。
1、脚本,把下面代码加到<head>与</head>之间<script type="text/javascript" language="javascript">
function PreviewImg(imgFile){
document.getElementById("idImg").style.display = "none";//隐藏初始化图片的显示,让过滤器显示
var newPreview=document.getElementById("newPreview");
remove(newPreview);
var imgDiv=document.createElement("div");
document.body.appendChild(imgDiv);
imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=imgFile.target.value;
var img_object = document.getElementById("engineroom_layout_addr");
img_object.style.display = "inline";
img_object.src = addrObject.value;
if (!img_object.width || img_object.width > 300) {
imgDiv.style.width = "300px";
}
if (!img_object.height || img_object.height > 200) {
imgDiv.style.height = "200px";
}
addrObject.style.display = "none";
//imgDiv.style.width="320px";
//imgDiv.style.height="127px";
newPreview.appendChild(imgDiv);
}
//使用removeChild从文档中删除DOM节点
function remove(obj) {
var test = obj;
var children = test.childNodes;
for (i = 0; i < children.length; i++) {
test.removeChild(children[i]);
}
}
</script>
我的意思是在没有提交保存的action之前 在文件上传那个jsp页面同时显示该图片。
也就是说点击了浏览之后,临时文件貌似已经保存到tomcat的conf/Catalina/localhost。
就是说相当于我在点击浏览结束后,同时在当前的jsp页面显示该图片,表单还没提交哦。呵呵。