好東西~~ 呵
apache开源上传文件包~~上傳文件從此不用擔心文件過大~~
apache又一重大貢獻~~ 什么来的/ 好東西~~ 不過要識貨的人才明白~~[s:12] [s:12]
我找了很久的~~ 你噶意思系话我5识货~~~~~~~[s:29] [s:5] [s:5] 怎么用呢 不错的东东…… 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]
