浏览代码

文件上传下载服务端代码异常

huangbo 8 年之前
父节点
当前提交
0a2c4f9a3d
共有 1 个文件被更改,包括 16 次插入13 次删除
  1. 16 13
      display-server/src/main/java/com/ai/server/bean/UploadDownloadBean.java

+ 16 - 13
display-server/src/main/java/com/ai/server/bean/UploadDownloadBean.java

@ -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 {