8e61acda08b880692e7b7effe21d1d3a0ac9e176
[mir.git] / source / mir / misc / WebdbMultipartRequest.java
1 package mir.misc;
2
3 import java.util.*;
4 import java.io.*;
5 import javax.servlet.*;
6 import javax.servlet.http.*;
7 import com.oreilly.servlet.multipart.*;
8 import com.oreilly.servlet.*;
9
10 /**
11  * Title:
12  * Description:
13  * Copyright:    Copyright (c) 2001
14  * Company:      Indymedia
15  * @author
16  * @version 1.0
17  */
18
19 public class WebdbMultipartRequest
20 {
21   HttpServletRequest    req=null;
22   HashMap               parameters = new HashMap();
23   MultipartParser       mp=null;
24   public static ArrayList requestList;
25
26   public WebdbMultipartRequest(HttpServletRequest theReq) throws IOException
27   {
28     req=theReq;
29     mp = new MultipartParser(req, 1024*8192); // maximum eight megabyte
30     requestList = new ArrayList();
31     _evaluateRequest();
32   }
33
34
35   public HashMap getParameters(){
36     return parameters;
37   }
38
39
40   private void _evaluateRequest() throws IOException{
41
42     Part part;
43     int i = 0;
44     while ((part = mp.readNextPart()) != null) {
45       String name = part.getName();
46       if (part.isParam()) {
47         // It's a parameter part, add it to the vector of values
48         ParamPart paramPart = (ParamPart) part;
49         String value = paramPart.getStringValue();
50         parameters.put(name,value);
51       }
52       else if (part.isFile()) {
53         // nur das erste uploadfile beruecksichtigen
54         FilePart filePart = (FilePart) part;
55         String fn = filePart.getFileName();
56         if (filePart.getFileName() != null) {
57           ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
58           filePart.writeTo(byteStream);
59           requestList.add(i,new MpRequest(byteStream.toByteArray(),filePart.getFileName(),filePart.getContentType()));
60           i++;
61         }
62       }
63     } // while */
64   }
65   
66 }