在公司做进行做证件上传时,需求如下:
1、前台点击按钮上传×××,动态上传(ajax)
2、选取×××以后进行图片截取,可以通过截取得到一个小图片
3、截取以后对照片显示预览功能,显示到前台。


技术1
利用struts2进行action接受
 1:前台定义输入参数


  <form  action="" method="POST" name='from' id='uploadfile' enctype="multipart/form-data">
    <input type="file" name="upFile" />
  </form>
  注意上传文件的Form ectype类型一定要设置为multipart/form-data 
 2:xml中进行配置
  <action name="file_*" method="{1}" class = "fileUploadAndDown">
            <result type="json"> 
             <!--   <param name="contentType">text/html</param> -->
               <param name="contentType">text/plain</param>
            </result> 
  </action>

 3:action类中定义相关的属性,这样通过Struts的拦截器自动接收前台传过来的文件了,后台的Action代码片段如下:
   private String upFilefile;
   private String upFilefileFileName;
   private String upFilefileContentType;
  需要对以上字段提供getter()和setter()方法
   xxx为前台form中文件的name
   属性命名格式为xxxfile,代表的是文件地址
        xxxfileFileName,文件名
        xxxfileContentType 文件类型,是图片类型,还是文本类型或者其他压缩类型等等

说明:
1、如果要设置对文件上传的拦截以及大小校验和文件类型校验等问题,可查看相关文档
2、如果是ajax上传,前台需要返回json作为返回值的结果,需要在struts.xml配置文件中配置相应的结果。result的type ='json'
 <param name="contentType">text/plain</param>或者配置成为text/html
 这些配置文件的类型,均在tomcat服务器的web.xml文件中有所体现