Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26267081
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2010-05-09 23:05:04

1.JS
function ajaxFileUpload()
    {
        $("#loading").ajaxStart(function(){
            $(this).show();
        })
        .ajaxComplete(function(){
            $(this).hide();
        });
        var item = $('input[@name=uploadtype][@checked]').val();
        $.ajaxFileUpload
        (
            {
                url:"/servlet/UserServlts?flag=saveexcels&uploadtype="+item,
                secureuri:false,
                fileElementId:'fileToUpload',
                dataType: 'text',
                success: function (data, status)
                {
                    alert(data);
                    $("#upload").toggle();
                },
                error: function (data, status, e)
                {
                    alert(e);
                }
            }
        )       
        return false;
    }


     
       
        操作二:点击上传员工工资EXCEL表格。点击这里
       
       
     
     


2.服务端
//保存用户提交过来的EXCEL 数据信息
            String uploadtype = request.getParameter("uploadtype").trim();
            response.setContentType( "text/html" );
            response.setCharacterEncoding( "utf-8" );
            out.println( "   " );
            out.println( "   提示 " );
            out.println( "   " );
            //  声明文件域
            FileItem fileItem  =   null ;
             //  从 HTTP servlet 获取 fileupload 组件需要的内容
            RequestContext requestContext  =   new  ServletRequestContext(request);
             //  判断是否包含 multipart 内容,如果不包含,则不进行任何处理。
             if  (ServletFileUpload.isMultipartContent(requestContext)) {
                 //  创建基于磁盘的文件工厂
                DiskFileItemFactory factory  =   new  DiskFileItemFactory();
                 //  设置直接存储文件的极限大小,一旦超过则写入临时文件以节约内存。默认为 1024 字节
                factory.setSizeThreshold( 1024   *   1024 );
                 //  创建上传处理器,可以处理从单个 HTML 上传的多个上传文件。
                ServletFileUpload upload  =   new  ServletFileUpload(factory);
                 //  最大允许上传的文件大小
                upload.setSizeMax( 1024   *   1024 );
                 try  {
                     //  处理上传
                    List items  =   null ;
                    items  =  upload.parseRequest(requestContext);
                     //  由于提交了表单字段信息,需要进行循环区分。
                     for  ( int  i  =   0 ; i  <  items.size(); i ++ ) {
                        FileItem fi  =  (FileItem) items.get(i);
                         //  如果不是表单内容,取出 multipart。
                         if  ( ! fi.isFormField()) {
                            fileItem  =  fi;
                            // 一次只上传单个文件
                            break ;
                        }
                    }
                    out.println(parseExcel(fileItem,uploadtype));
                }  catch  (Exception e) {
                    out.println( " 上传失败!请检查上传的文件是否为excel格式、信息是否完整完整、且大小是否超过1兆。 " );
                    out.println( "
原因: " + e.toString());
                    System.out.println("======="+e.toString());
                }
            }
            out.println( "   " );
            out.println( " " );
阅读(1097) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~