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楼的那个最经典,在本地就可以解码并显示出来。而你们说的,都是上传后再显示,上传后在显示,并不是楼主要的结果把!
------解决方案--------------------