广东技术师范学院后院社区's Archiver

2008新生录取咨询

seasonl 发表于 2007-12-18 01:14

好東西~~ 呵

apache开源上传文件包~~
上傳文件從此不用擔心文件過大~~
apache又一重大貢獻~~

一蚊都系钱 发表于 2007-12-18 01:15

什么来的/

seasonl 发表于 2007-12-18 01:17

好東西~~ 不過要識貨的人才明白~~[s:12] [s:12]
我找了很久的~~

一蚊都系钱 发表于 2007-12-18 01:18

你噶意思系话我5识货~~~~~~~[s:29]

seasonl 发表于 2007-12-18 01:20

[s:5] [s:5]

途锁 发表于 2007-12-18 01:27

怎么用呢

暗夜飞 发表于 2007-12-18 01:29

不错的东东……

seasonl 发表于 2007-12-18 01:44

public String getTime(String formats) { // 取得自定义格式的时间 ("yyyyMM")
                                                                                        // ("yyyy_MM_dd_HHmmssSSS") 大S为毫秒
                                                                                        // HH为24小时制,hh为12小时制
                return new java.text.SimpleDateFormat(formats)
                                .format(java.util.Calendar.getInstance().getTime());
        }
       
       
/**處理代碼*/
               
                String type = "uploadfile";

                String fileExt = null;

                long fileSize = 0;

                int count = 0;

                String fileName = getTime("yyyyMMdd_HHmmssSSS");

                String dateDir = getTime("yyyyMM") + "/";
               
                String path = getServletContext().getRealPath("/") + type;

                File dir = new File(path);
                if (!dir.exists()) {
                        dir.mkdir();
                }

                path = path + "/" + dateDir;

                dir = new File(path);
                if (!dir.exists()) {
                        dir.mkdir();
                }

                try {

                        DiskFileUpload fu = new DiskFileUpload();

                        fu.setSizeMax(1024 * 1024 * 500); // 设置允许用户上传文件大小,单位:字节

                        fu.setSizeThreshold(1024); // 设置最多只允许在内存中存储的数据,单位:字节

                        fu.setRepositoryPath(path); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的临时文件夹

                        List fileItems = fu.parseRequest(request); // 开始读取上传信息

                        Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件

                        while (iter.hasNext()) {

                                FileItem item = (FileItem) iter.next();

                                if (!item.isFormField()) { // 判断是否是文件框,忽略其他不是文件域的所有表单信息

                                        count++;

                                        fileExt = item.getName(); // 取得文件名,是客户端的文件路径,晕

                                        fileSize = item.getSize();

                                        if (fileExt == null || fileExt.equals("") || fileSize == 0)
                                                out.print("<script>alert('文件上传不能为空!');document.location.href='manage/upload1.jsp'</script>");

                                        else {

                                                fileExt = fileExt.substring(fileExt.lastIndexOf(".")); // 取文件扩展名

                                                File files = new File(path, fileName + count + fileExt);

                                                item.write(files);        // 以时间命名
                                               
                                                                                               
                                               
                                               
                                                                                                out.print("<script>alert('文件上传成功!');document.location.href='manage/upload1.jsp'</script>");
                                               
                                        }
                                }

                        }

                } catch (Exception e) {
                        e.printStackTrace();
                        out.print("<script>alert('文件上传不成功,请重新上传!');</script>");
                }
        }




可能要接觸過J2EE的同學好理解點~` 呵 上BAIDU找也是個不錯的選擇

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.