Struts1.x实现动态多文件(不定个数)上传

问题描述:

实现不定个数的文件上传

解决方案:

1、MultipartRequestHandler

关键代码:

 

FormFile[] formFile = null;
		// 得到所有的文件请求元素
		Hashtable files = dynauploadForm.getMultipartRequestHandler()
				.getFileElements();
		if (files != null && files.size() > 0) {
			// 初始化FormFile
			formFile = new FormFile[files.size()];
			// 得到files的keys
			Enumeration enums = files.keys();
			String fileKey = null;
			int i = 0;
			// 遍历枚举
			while (enums.hasMoreElements()) {
				// 取得key
				fileKey = (String) (enums.nextElement());
				// 初始化每一个FormFile(接口)
				formFile[i] = (FormFile) files.get(fileKey);
				System.out.println("key:" + fileKey);
				// 分别上传
				try {
					System.out.println("上传");
					//upFile(formFile[i], "d:/test/");
				} catch (Exception e) {
					e.printStackTrace();
				}
				i++;
			}

		}

  参考文章

Struts1.2实现动态多文件(不定个数)上传

http://kb.cnblogs.com/b/178722/

 

 2、lazy actionform

FormFile formFile = (FormFile) dynaForm.get("file1");

ps:  这里file1要知道,可以通过其他固定属性提交获取。

参考文章:

Lazy ActionForm

http://blog.csdn.net/zmfkplj/archive/2007/12/01/1910598.aspx

ps:1、文章中的List方式没有测试通过

       2、action 中的 validate="false" 否则报Resources cannot be null 异常

 

 

你可能感兴趣的:(.net,Blog)