struts2 预览后上传图片
<from name="myform" action="addUser.do">
<s:textfield name="user.name" />
<s:textfield name="user.age" />
<s:file name ="myFile" label ="Image File" />
<img id="image" src="" />
<s:hidden id="imgurl" name="user.imgurl" value="" />
<s:submit>
</form>
业务:在提交action之前,在<img id="image" src="" />中预览下图片,最好是无刷新,然后再提交form,保存用户信息,
纠结了很久啦,就是弄不出来~~~
大家帮帮我,提供一份用struts2上传文件实现的代码,可以的话结合dwr实现页面无刷新预览,
(问题主要在于图片预览,并将图片路径保存在s:hidden中,之后的保存用户我会的)万分感谢啊~
要是代码多发至我邮箱(965846134@qq.com)不胜感激~
------解决方案--------------------这个其实比较简单吧。。
楼主把上传分为两步来做:上传和提交。
上传只是把图片上传过去。。 然后通过ajax把图片的地址转发回页面,这样就可以预览了。。再点提交,就发送一个信息给后台,完成业务逻辑
问我要具体代码?不好意思,我没有。。。
------解决方案--------------------你的预览是本地文件预览吧
用JS就可以了 应该有这种图片预览的控件
上传就不多说了
详见百度~~
------解决方案--------------------
<html>
<head>
<title>get file input full path</title>
<script language='javascript'>
function getFullPath(obj)
{
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
</script>
</head>
<body>
<input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
<img id="img" />
</body>
</html>
------解决方案--------------------这种问题思路不是太难的! 你获取到图片的路径! 然后用img的src属性显示出来! 一般都是在本地显示的,至于上传的话就不用说了吧!
------解决方案--------------------用js直接修改img的src不就可以了吗?
------解决方案--------------------预览应该只要设置一个图片占位,然后动态读取上传那个地方选择的路径后显示就OK了,就在本机实现(相当于即使当时掉线了网页没刷新也可以读取的吧,写个类似ontextchange这样的东西,只要选择文件路径那里改变了就去读取文件)
------解决方案--------------------5楼的那个最经典,在本地就可以解码并显示出来。而你们说的,都是上传后再显示,上传后在显示,并不是楼主要的结果把!
------解决方案--------------------