home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / servlets / UploadServlet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-06-20  |  3.3 KB  |  109 lines

  1. import com.oroinc.text.regex.MalformedPatternException;
  2. import com.oroinc.text.regex.MatchResult;
  3. import com.oroinc.text.regex.Perl5Compiler;
  4. import com.oroinc.text.regex.Perl5Matcher;
  5. import com.oroinc.text.regex.Perl5Pattern;
  6. import java.io.BufferedReader;
  7. import java.io.BufferedWriter;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.io.OutputStreamWriter;
  12. import java.io.Writer;
  13. import javax.servlet.ServletException;
  14. import javax.servlet.ServletOutputStream;
  15. import javax.servlet.http.HttpServlet;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18.  
  19. public class UploadServlet extends HttpServlet {
  20.    public void service(HttpServletRequest var1, HttpServletResponse var2) throws ServletException, IOException {
  21.       var2.setContentType("text/html");
  22.       String var3 = ".*filename=.*\\W(\\w+\\.\\w+)";
  23.       String var4 = "(\r\n\\-+\\d+\\-+\r\n)";
  24.       Perl5Compiler var5 = new Perl5Compiler();
  25.       Perl5Compiler var6 = new Perl5Compiler();
  26.       Perl5Matcher var7 = new Perl5Matcher();
  27.       Perl5Matcher var8 = new Perl5Matcher();
  28.       Perl5Pattern var9 = null;
  29.       Perl5Pattern var10 = null;
  30.       BufferedReader var12 = new BufferedReader(new InputStreamReader(var1.getInputStream()));
  31.       ServletOutputStream var13 = var2.getOutputStream();
  32.       Object var14 = null;
  33.       String var15 = null;
  34.  
  35.       try {
  36.          var9 = (Perl5Pattern)var5.compile(var3);
  37.       } catch (MalformedPatternException var28) {
  38.          var13.println("Bad pattern.<br>");
  39.          var13.println(((Throwable)var28).getMessage() + "<br>");
  40.       }
  41.  
  42.       try {
  43.          var10 = (Perl5Pattern)var6.compile(var4);
  44.       } catch (MalformedPatternException var27) {
  45.          var13.println("Bad pattern.<br>");
  46.          var13.println(((Throwable)var27).getMessage() + "<br>");
  47.       }
  48.  
  49.       try {
  50.          String var16 = "";
  51.          StringBuffer var17 = new StringBuffer();
  52.  
  53.          while((var16 = var12.readLine()) != null) {
  54.             var17.append(var16 + "\n");
  55.             if (var16.length() == 0) {
  56.                break;
  57.             }
  58.          }
  59.  
  60.          var15 = var17.toString();
  61.          var13.print("Header= (" + var15 + ")<br>");
  62.       } catch (IOException var30) {
  63.          var13.println("Error opening streamInput.<br>");
  64.          var13.println(((Throwable)var30).getMessage() + "<br>");
  65.       }
  66.  
  67.       MatchResult var11;
  68.       do {
  69.          var7.contains(var15, var9);
  70.          var11 = var7.getMatch();
  71.       } while(var11 == null);
  72.  
  73.       String var32 = var11.group(1);
  74.       var13.print("FileName (" + var11.group(1) + ")<br>");
  75.  
  76.       try {
  77.          int var34 = 0;
  78.          String var36 = "";
  79.          StringBuffer var18 = new StringBuffer();
  80.          char[] var19 = new char[4096];
  81.  
  82.          while((var34 = var12.read(var19, 0, 4096)) != -1) {
  83.             var36 = new String(var19);
  84.             var18.append(var36.substring(0, var34));
  85.          }
  86.  
  87.          int var20 = var18.toString().length();
  88.          String var21 = new String(var18.toString().substring(var20 - 100 < 0 ? 0 : var20 - 100));
  89.          var8.contains(var21, var10);
  90.          var11 = var8.getMatch();
  91.          int var22 = 0;
  92.          if (var11 != null && var11.group(1).length() != 0) {
  93.             var22 = var11.group(1).length();
  94.          }
  95.  
  96.          String var23 = new String(var18.toString().substring(0, var20 - var22));
  97.          FileOutputStream var24 = new FileOutputStream("\\OS2httpd\\servlets\\upload\\" + var32);
  98.          OutputStreamWriter var25 = new OutputStreamWriter(var24);
  99.          BufferedWriter var26 = new BufferedWriter(var25);
  100.          ((Writer)var26).write(var23);
  101.          ((Writer)var26).close();
  102.          var12.close();
  103.       } catch (IOException var29) {
  104.          var13.println("Error opening RandomAccessFile " + var32 + " for writing." + "<br>");
  105.          var13.println(((Throwable)var29).getMessage() + "<br>");
  106.       }
  107.    }
  108. }
  109.