上传文件时,后台代码中取字段问题
表单使用了enctype="multipart/form-data"
然后后台使用了apache的fileUpload,我在得到一个item时(图片),想进行写到磁盘上,问题是我必须先得到表单中另一个字段的值<input type="hidden" name="id" value="xxx" />,可是我使用request.getParameter("id")却取不出来(遍历item时可以取到),这怎么办?总不会叫我先遍历一次,取得这个id,然后再遍历进行写文件的操作吧?
------解决方案--------------------
apache的fileUpload获取提交过来的表单数据,分两种一种type=file还有一种就是普通的<input type="hidden" name="id" value="xxx" />字段值型:举个例子(红色部分就是判断是不是普通表单属性)
try {
			List<FileItem> fileItemList = servletFileUpload.parseRequest(request);
			for(FileItem fi:fileItemList)
			{  
				String name = fi.getFieldName();
				if(fi.isFormField())
				{	
					String userName = fi.getString("utf-8");
					request.setAttribute(name, userName);
					System.out.println(name+"@@@");
				}
				else
				{
					String fileNameAll = fi.getName();
					int start = fileNameAll.lastIndexOf("\\");
					String fileName = fileNameAll.substring(start+1);
					request.setAttribute(name, fileName);
					System.out.println(name+"----");
					try {
						fi.write(new File(path,fileName));
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		} catch (FileUploadException e) {
			e.printStackTrace();
		}
------解决方案--------------------