码迷,mamicode.com
首页 > 其他好文 > 详细

ServletFileUpload使用方法

时间:2014-08-05 16:02:51      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   color   java   使用   os   io   文件   数据   

1.首先我们应该为上传的文件建一个存放的位置,一般位置分为临时和真是文件夹,那我们就需要获取这俩个文件夹的绝对路径,在servlet中我们可以这样做

ServletContext application = this.getServletContext();  
String tempDirectory = application.getRealPath(Constant.TEMP_DIRECTORY) + "/";  
String realDirectory = application.getRealPath(Constant.REAL_DIRECTORY) + "/";




然后建立文件工厂即仓库一个参数表示存放多大后flush,

FileItemFactory factory = new DiskFileItemFactory(Constant.SIZE_THRESHOLD,new File(tempDirectory));  
ServletFileUpload upload = new ServletFileUpload(factory);

2.对上传的文件进行设定

upload.setSizeMax(500*1024*1024);//设置该次上传最大值为500M

3,.解析请求正文,获取上传文件,不抛出异常则写入真是路径

List<FileItem> list = upload.parseRequest(request);  
Iterator<FileItem> iter = list.iterator();  
            while (iter.hasNext()) {  
                FileItem item = iter.next();  
                //item.isFormField()用来判断当前对象是否是file表单域的数据  如果返回值是true说明不是 就是普通表单域  
                if(item.isFormField()){  
                    System.out.println( "普通表单域" +item.getFieldName());  
                    System.out.println(item.getString("utf-8"));  
  
                }else{  
                    //System.out.println("file表单域" + item.getFieldName());  
                    /* 
                     * 只有file表单域才将该对象中的内容写到真实文件夹中  
                     */  
                    String lastpath = item.getName();//获取上传文件的名称  
                    lastpath = lastpath.substring(lastpath.lastIndexOf("."));  
                    String filename = UUID.randomUUID().toString().replace("-", "") + lastpath;  
                    item.write(new File(realDirectory+filename));




ServletFileUpload使用方法,布布扣,bubuko.com

ServletFileUpload使用方法

标签:style   color   java   使用   os   io   文件   数据   

原文地址:http://my.oschina.net/JiangTun/blog/298116

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!