package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.fileupload.FileItem;
public class CommonsUploadUtils {
/**
* 获取表单元素
* @param fileItems
* @param name
* @return
*/
public static FileItem getFieldParam(List<FileItem> fileItems, String name){
if(null==name||"".equals(name))return null;
Iterator<FileItem> iter = fileItems.iterator();
for( ; iter.hasNext(); ) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&fileItem.isFormField()){
return fileItem;
}
}
return null;
}
/**
* 获取表单文件
* @param fileItems
* @param name
* @return
*/
public static FileItem getFileParam(List<FileItem> fileItems, String name){
if(null==name||"".equals(name))return null;
Iterator<FileItem> iter = fileItems.iterator();
while(iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&null!=fileItem.getName()
&&!"".equals(fileItem.getName())){
return fileItem;
}
}
return null;
}
/**
* 获取表单文件组
* @param fileItems
* @param name
* @return
*/
public static FileItem[] getFileParams(List<FileItem> fileItems, String name){
if(null==name||"".equals(name))return null;
List<FileItem> temp = new ArrayList<FileItem>();
Iterator<FileItem> iter = fileItems.iterator();
while(iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&!fileItem.isFormField()){
temp.add(fileItem);
}
}
return temp.toArray(new FileItem[0]);
}
/**
* 获取值串
* @param fileItems
* @param name
* @param arg
* @return
*/
public static String[] getFieldParams(List<FileItem> fileItems, String name){
if(null==name||"".equals(name))return new String[0];
List<String> list = new ArrayList<String>();
Iterator<FileItem> iter = fileItems.iterator();
while(iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&fileItem.isFormField()){
list.add(fileItem.getString().trim());
}
}
return list.size()>0?list.toArray(new String[0]):new String[0];
}
/**
* 获取值串
* @param fileItems
* @param name
* @param arg
* @return
*/
public static String getFieldParam(List<FileItem> fileItems, String name, String arg){
if(null==name||"".equals(name))return null;
Iterator<FileItem> iter = fileItems.iterator();
while(iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&fileItem.isFormField()){
return fileItem.getString().trim();
}
}
return arg;
}
/**
* 获取值串
* @param fileItems
* @param name
* @param arg
* @return
*/
public static int getIntFieldParam(List<FileItem> fileItems, String name, int arg){
if(null==name||"".equals(name))return arg;
Iterator<FileItem> iter = fileItems.iterator();
while(iter.hasNext()) {
FileItem fileItem = (FileItem) iter.next();
if(name.equals(fileItem.getFieldName())&&fileItem.isFormField()){
return Integer.parseInt(fileItem.getString().trim());
}
}
return arg;
}
}