diff --git a/src-core/src/org/openbravo/base/VariablesBase.java b/src-core/src/org/openbravo/base/VariablesBase.java
--- a/src-core/src/org/openbravo/base/VariablesBase.java
+++ b/src-core/src/org/openbravo/base/VariablesBase.java
@@ -1567,4 +1567,27 @@
     }
     return null;
   }
+
+  /**
+   * Retrieve deserialized files passed to the servlet as a parameter and part of a multi part
+   * content.
+   * 
+   * @param parameter
+   *          The name of the parameter that contains the files
+   * @return FileItem array containing the files content
+   */
+  public FileItem[] getMultiFiles(String parameter) {
+    if (!isMultipart || items == null)
+      return null;
+    Iterator<FileItem> iter = items.iterator();
+    Vector<FileItem> result = new Vector<FileItem>();
+    while (iter.hasNext()) {
+      FileItem item = iter.next();
+      if (!item.isFormField() && item.getFieldName().equals(parameter))
+        result.addElement(item);
+    }
+    FileItem[] fiResult = new FileItem[result.size()];
+    result.copyInto(fiResult);
+    return fiResult;
+  }
 }
