`
ganjuelovejava
  • 浏览: 92065 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

文件上传

 
阅读更多
private void doFileUpload(HttpSession session, HttpServletRequest request,
            HttpServletResponse response) throws IOException
    {
        try
        {
            long totalSize = request.getContentLength();
           
            // 创建UploadListener对象
            UploadListener listener = new UploadListener(totalSize);
           
            // 启动监听状态
            listener.start();
           
            // 将监听器对象的状态保存在Session中
            session.setAttribute("FILE_UPLOAD_STATS",
                    listener.getFileUploadStats());
           
            // 创建MonitoredDiskFileItemFactory对象
            MonitoredDiskFileItemFactory factory = new MonitoredDiskFileItemFactory(
                    listener);
            factory.setSizeThreshold(UPLOAD_THRESHOLD_SIZE);
           
            // 通过该工厂对象创建ServletFileUpload对象
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setHeaderEncoding("UTF-8");
            upload.setSizeMax(UPLOAD_MAX_SIZE);
            // 将转化请求保存到list对象中
            List items = upload.parseRequest(request);
           
            // 停止使用监听器
            listener.done();
           
            boolean hasError = false;
        
            // 循环list中的对象
            for (Iterator i = items.iterator(); i.hasNext();)
            {
                FileItem fileItem = (FileItem) i.next();
                //如果该FileItem不是表单域
                if (!fileItem.isFormField())
                {
                    try
                    {
                        //调用processUploadedFile方法,将数据保存到文件中
                        processUploadedFile(fileItem, request);
                    }
                    catch (FileNotFoundException fe)
                    {
                        throw fe;
                    }
                    finally
                    {
                        //内存中删除该数据流
                        fileItem.delete();
                    }
                }
                else
                {
                    //获取节点名称
                    String name = fileItem.getFieldName();
                    if ("AddNodeTextName1".equals(name))
                    {
                        nodeName = new String(fileItem.getString().getBytes("ISO8859-1"),"UTF-8");
                    }
                  
                       
                }
            }
           
            //添加节点          
            try
            {
                //调用添加节点方法                           
            }
            catch (AppException e)
            {
                session.setAttribute("isSuccess", false);
                e.printStackTrace();
            }
           
            if (!hasError) // 如果没有出现错误
            {
                //调用sendCompleteResponse方法
                sendCompleteResponse(response, null);
            }
            else
            {
                sendCompleteResponse(response, this.getMessage("Upload.fail",
                        request));
            }
        }
                    }
分享到:
评论

相关推荐

    php大文件上传,百兆文件上传,有进度条,有上传速度

    之前发布一个大文件上传,但是问题太多,此版本相对上一个稳定得多 1,将压缩包里的 php_uploadprogress.dll 文件复制到你的PHP 安装目录里的扩展库文件夹 就是 ext文件夹下面 2,在你的服务器上随便一个地方(最好...

    JSP无组件文件上传

    在网络上找到的,纯JSP实现的文件上传程序,支持多文件的上传,例子是多文件的上传,稍微修改就可以变成单文件的上传或者更多文件的上传,控制成需要扩展名的文件上传,指定大小的文件上传等。程序目前上传文件存储...

    文件上传和下载文件上传和下载文件上传和下载

    文件上传和下载文件上传和下载文件上传和下载文件上传和下载文件上传和下载文件上传和下载文件上传和下载

    FileUploadUtil.java(文件上传工具类)

    文件上传工具类,上传文件,上传导入文件到path文件夹下,判断图片大小是否超过要求,上传多张图片到服务器,上传图片到服务器,上传文件(在指定目录下创建年月日目录),上传导入文件到temp文件夹下,删除指定...

    Nginx文件上传模块配置

    Nginx是一个高性能的HTTP和反向代理服务器,也是IMAP/POP3/SMTP代理服务器,是由俄罗斯人lgor Sysoev开发,支持模块加载和卸载,其中upload_...我们要做的工作就是要将这两个模块加入到Nginx中,提供文件上传的服务。

    奇安信代码卫士,文件上传漏洞解决demo

    奇安信代码卫士,文件上传漏洞解决demo; #### 文件上传可以参考以下安全需求进行处理: 1. 服务器配置: (1)将上传目录和上传文件设置为不可执行, 杜绝脚本执行。 (2)应保证服务器安全,避免文件解析漏洞。 2....

    基于Python+Django简单实现文件上传下载功能源码.zip

    基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于...

    springMvc单文件多文件上传

    springMvc 文件上传,springMvc 支持单文件和多文件上传,

    PHP文件上传类

    PHP文件上传类,自定义配置,包括单文件和多文件上传(检测文件大小,文件格式,文件重命名,错误返回,全部封装在一个类中)

    文件上传与下载模块源码 源码 上传下载

    一次可上传两个文件,选择文件路径,填写描述,然后单击“上传文件”按钮,即可将文件上传到程序路径下的files文件夹中。 图1.2 文件上传页面 单击“下载文件”按钮,进入文件下载页面,如图1.3所示。单击文件后的...

    文件上传(文件上传)

    文件上传 文件上传 文件上传 文件上传 文件上传

    extjs 4.2 多文件上传

    用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,

    绝对好用Flash多文件大文件上传控件

    绝对好用,支持单文件、多文件上传,支持大文件上传,已经过多方面测试,保证好用。 以下附上Uploadify部分常用的参数介绍,要看全部的就去看其API文件了,一般在下载的包里都有。  uploader : uploadify.swf ...

    java多文件上传实现

    java多文件上传实现,上传界面采用flash,同时显示上传进度条

    bootstrap 文件上传组件 fileinput 实现文件批量上传

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,经过一番研究,把案例整理出来,供大家学习

    ntko大文件上传

    大文件上传demo,注意需要联网使用,在这个demo中,先给数据库插入文件的基本信息和临时文件名称,再读取文件,建立临时文件夹,将文件存到临时文件中,最后当文件上传完成后,会修改数据库的临时文件名称,删除磁盘...

    文件上传下载需要的jar包 java文件上传下载

    文件上传下载需要的jar包 java文件上传下载 源码 http://blog.csdn.net/da_zhuang/article/details/8737618

    html5文件上传器演示

    客户端完全基于JavaScript的浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务端处理,由服务端存储断点信息实现断点...

    文件上传系统 文件上传系统

    文件上传系统文件上传系统文件上传系统文件上传系统文件上传系统

    android 文件上传(多个或单个),图片上传

    android 通用图片上传,多文件上传,单文件皆可。。

Global site tag (gtag.js) - Google Analytics