uploadFile.java
3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.espeed.servlet;
import java.io.File;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.FileRenamePolicy;
/**
* 程序名称: EspeedMail_时速邮箱
* 程序版本: V1.0
* 作 者: 深圳市科飞时速网络技术有限公司(0755-88843776)
* 版权所有: 深圳市科飞时速网络技术有限公司
* 技术支持: Tech@21gmail.com
* 单元名称: 附件上传
* 开始时间: 2013.10.22
* 程 序 员:
* 最后修改:
* 备 注: 如需修改请通知程序员
*/
public class uploadFile extends HttpServlet{
private static final long serialVersionUID = -3096800116651263134L;
private String fileSizeLimit;
private File oldFile;
public void init(ServletConfig config) throws ServletException {
this.fileSizeLimit = config.getInitParameter("fileSizeLimit");
}
public void destroy() {
this.fileSizeLimit = null;
super.destroy();
}
class MyFileRenamePolicy implements FileRenamePolicy {
public File rename(File file) {
oldFile = file;
String fileSaveName = StringUtils.join(new String[] { java.util.UUID.randomUUID().toString(), ".",
FilenameUtils.getExtension(file.getName()) });
File result = new File(file.getParentFile(), fileSaveName);
return result;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取用户信息
String loginid=request.getParameter("loginid");//用户账号
String domain=request.getParameter("domain");//用户域名
/**项目路进*/
String pathew = this.getClass().getClassLoader().getResource("/").getPath();
pathew = pathew.substring(1, pathew.length());
pathew = pathew.replace("/WEB-INF/classes/","");
/**附件存储路径*/
String attrSavePath=pathew+"/mailtempfile/"+domain+"/"+loginid+"/attachment";
File savePath = new File(attrSavePath);
if (!savePath.exists()) {
savePath.mkdirs();
}
String saveDirectory = attrSavePath;
if (StringUtils.isBlank(this.fileSizeLimit.toString())) {
this.fileSizeLimit = "80";
}
int maxPostSize = Integer.parseInt(this.fileSizeLimit) * 1024 * 1024;
String encoding = "UTF-8";
FileRenamePolicy rename = new MyFileRenamePolicy();
MultipartRequest multi = null;
String oldNames="";
try {
multi = new MultipartRequest(request, saveDirectory, maxPostSize, encoding, rename);
oldNames=oldFile.getName().toString();
System.out.println(oldNames);
} catch (IOException e) {
e.printStackTrace();
return;
}
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
File f = multi.getFile(name);
if (f != null) {
String fileName = multi.getFilesystemName(name);
response.getWriter().print(fileName+"#####"+oldNames);
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
public String getFileSizeLimit() {
return fileSizeLimit;
}
public void setFileSizeLimit(String fileSizeLimit) {
this.fileSizeLimit = fileSizeLimit;
}
}