|
@ -5,6 +5,7 @@ import java.io.FileInputStream;
|
5
|
5
|
import java.io.FileOutputStream;
|
6
|
6
|
import java.io.InputStream;
|
7
|
7
|
import java.io.OutputStream;
|
|
8
|
import java.util.Iterator;
|
8
|
9
|
import java.util.List;
|
9
|
10
|
|
10
|
11
|
import javax.servlet.http.HttpServletRequest;
|
|
@ -37,13 +38,13 @@ public class UploadDownloadBean extends IpuAppBean {
|
37
|
38
|
if(filePaths.length == 0){
|
38
|
39
|
MobileUtility.error("请设置文件存储路径!");
|
39
|
40
|
}
|
40
|
|
/*1.2.判断请求是否包含文件信息*/
|
|
41
|
/*2.判断请求是否包含文件信息*/
|
41
|
42
|
HttpServletRequest request = ServletManager.getRequest();
|
42
|
43
|
if (!ServletFileUpload.isMultipartContent(request)) {
|
43
|
44
|
MobileUtility.error("没有检测到文件,请重新提交!");
|
44
|
45
|
}
|
45
|
46
|
|
46
|
|
/*2.处理上传文件的业务逻辑*/
|
|
47
|
/*3.处理上传文件的业务逻辑*/
|
47
|
48
|
IData result = new DataMap();
|
48
|
49
|
DiskFileItemFactory factory = new DiskFileItemFactory(); //获得磁盘文件条目工厂
|
49
|
50
|
//factory.setSizeThreshold(5*1024*1024); //设置缓存的大小。上传文件超过缓存时,将存储在临时目录中。
|
|
@ -53,26 +54,26 @@ public class UploadDownloadBean extends IpuAppBean {
|
53
|
54
|
InputStream in = null;
|
54
|
55
|
String filePath = null, savePath = ""; //文件地址
|
55
|
56
|
try {
|
56
|
|
/* 多个上传文件 */
|
|
57
|
/*多个上传文件*/
|
57
|
58
|
List<FileItem> fileList = upload.parseRequest(request);
|
58
|
|
// 多文件上传判断 还有些问题,未调通
|
59
|
|
// if(fileList.size() != filePaths.length){
|
60
|
|
// MobileUtility.error("提交的文件数量和保存的文件列表数量不一致,请检查参数!");
|
61
|
|
// }
|
62
|
|
for (int i = 0; i < fileList.size(); i++) {
|
63
|
|
FileItem item = fileList.get(i);
|
|
59
|
|
|
60
|
/*fileList之中包含了表单参数*/
|
|
61
|
Iterator<FileItem> it = fileList.iterator();
|
|
62
|
int i=0;
|
|
63
|
while(it.hasNext()){
|
|
64
|
FileItem item = it.next();
|
64
|
65
|
String name = item.getFieldName();// 获取表单的属性名
|
65
|
|
|
66
|
|
/* 处理表单数据 */
|
|
66
|
|
|
67
|
/*处理表单数据*/
|
67
|
68
|
if (item.isFormField()) {
|
68
|
69
|
request.setAttribute(name, item.getString());
|
69
|
70
|
} else {
|
70
|
71
|
String value = item.getName();
|
71
|
72
|
request.setAttribute(name, value); // 保存文件名
|
72
|
|
//文件在server上保存地址
|
|
73
|
/*文件在server上保存地址*/
|
73
|
74
|
filePath = ApplicationPath.getFilePath(request) + filePaths[i];
|
74
|
75
|
File dir = new File(filePath).getParentFile();
|
75
|
|
if(! dir.exists() && ! dir.mkdirs()){
|
|
76
|
if (!dir.exists() && !dir.mkdirs()) {
|
76
|
77
|
MobileUtility.error("创建上传文件夹失败!");
|
77
|
78
|
}
|
78
|
79
|
savePath += filePath + ",";
|
|
@ -85,9 +86,11 @@ public class UploadDownloadBean extends IpuAppBean {
|
85
|
86
|
while ((length = in.read(buf)) != -1) {
|
86
|
87
|
out.write(buf, 0, length);
|
87
|
88
|
}
|
|
89
|
i++;
|
88
|
90
|
log.debug("上传文件大小为:" + item.getSize());
|
89
|
91
|
}
|
90
|
92
|
}
|
|
93
|
|
91
|
94
|
} catch (Exception e) {
|
92
|
95
|
MobileUtility.error("上传文件失败!", e);
|
93
|
96
|
} finally {
|