ajax上传-
    js代码<script type="text/javascript" src="./js/ajaxfileupload.js" charset="UTF-8"></script>
<script language="javascript">
      function ajaxFileUpload() {    	
      	$.ajaxFileUpload({
      		url : 'useruploadHeadImg', 
      		secureuri : false,
      		fileElementId : 'upFile',
      		dataType : 'json',
            success: function (data, status)
      	    {
               data=data.trim(); //必须加,得到的值前面有一个空隔,需要去掉
               var src="uploadHeadImg/"+data;
               $("#myHeadImg").attr("src",""+src);
      	    },
      	    error: function (data, status, e)
      	    {
      	     // alert('错误返回!!!!');
      	    }
      	});
      }
 </script>
html关键代码 <div>上传
   <input type="file" onchange="ajaxFileUpload()" class="upFile" name="upFile" id="upFile">
</div>                   
                   <div>图片显示 
                       <img  src="uploadHeadImg/<s:property value="#attr.loginUser.headImg"/>"  width="200"  id="myHeadImg"/>
                   </div>
action代码public String uploadHeadImg() {
		SimpleDateFormat simp= new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
		String sj=simp.format(new Date());		
		String  name="img"+sj+".jpg";
		String path=ServletActionContext.getServletContext().getRealPath("/");		
		System.out.println("上传的位置:"+path+"uploadHeadImg"+"\\"+name);
		File file=new File(path+"uploadHeadImg\\"+name);  //上传的去处
		String data=null;
		try {
			FileUtils.copyFile(upFile,file);
			data=name;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("文件名:"+data);
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setCharacterEncoding("utf-8");
		PrintWriter out=null;
		try {
			out = response.getWriter();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		out.print(data);
		out.flush();
		System.out.println("出了上传"+data);		
		return null;
	}
//由于ajaxfileupload.js是半成品,存在很多兼容问题,这个ajaxfileupload.js修改后,可支持chrom,360,搜狐,但不支持ie8等系列。